Excel VBA:迭代范围参数并更改单元格值

我相信我想要做的很简单。 我想遍历一个Range参数,并更改该范围内的每个单元格的值。

Function test(thisRange As Range) For Each c In thisRange.Cells c.Value = 1 Next End Function 

以上是我想要做的一个简单的例子,但似乎没有工作。 当我debugging这个时,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