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

时间:2012-10-04 20:00:27

标签: excel vba excel-vba

我相信我想做的事情非常简单。我想迭代一个Range参数并更改该范围内每个单元格的值。

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

以上是我想做的一个简单示例,但似乎不起作用。当我调试它时,Excel似乎在它命中c.Value = 1时抛出错误。为什么这不起作用?

1 个答案:

答案 0 :(得分:3)

这对我有用

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

BTW我们不需要使用函数。函数用于返回值。试试这个

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