我相信我所要做的很簡單。我想迭代Range參數並更改該範圍中每個單元格的值。Excel VBA:遍歷範圍參數和更改單元格值
Function test(thisRange As Range)
For Each c In thisRange.Cells
c.Value = 1
Next
End Function
以上是我想要做的一個簡單的例子,但似乎沒有工作。當我調試時,Excel似乎在碰到c.Value = 1
時發生錯誤。爲什麼這不起作用?
我相信我所要做的很簡單。我想迭代Range參數並更改該範圍中每個單元格的值。Excel VBA:遍歷範圍參數和更改單元格值
Function test(thisRange As Range)
For Each c In thisRange.Cells
c.Value = 1
Next
End Function
以上是我想要做的一個簡單的例子,但似乎沒有工作。當我調試時,Excel似乎在碰到c.Value = 1
時發生錯誤。爲什麼這不起作用?
這對我的作品
Option Explicit
Sub Sample()
Dim ret
ret = test(Sheets("Sheet1").Range("A1:A15"))
End Sub
Function test(thisRange As Range)
Dim c As Range
For Each c In thisRange.Cells
c.Value = 1
Next
End Function
順便說一句,我們並不需要使用的功能。一個函數用於返回一個值。試試這個
Option Explicit
Sub Sample()
test Sheets("Sheet1").Range("A1:A15")
End Sub
Sub test(thisRange As Range)
Dim c As Range
For Each c In thisRange.Cells
c.Value = 1
Next
End Sub
是的,這確實有效。再次感謝你,我把這個函數稱爲UDF,這是我的問題。 – stevebot
是的,正如我在之前的評論中提到的那樣,您不能將其用作UDF :) –
它適合我。你打電話過得怎麼樣?希望不是從工作表中作爲UDF? –
確保您將c聲明爲Range。 – RBarryYoung
是否需要循環每個單元格?你可以使用'thisRange.Value = 1' – user3357963