将 for each 与工作表参考一起使用

Using for each with a worksheet reference

如果下面的 ws 同时具有范围对象和单元格 属性:

dim ws as worksheet 
set ws = sheets("sheet_1")

x = ws.range("A1")
x = ws.cells(1,1)

为什么这不起作用:

dim cel as range
dim rng as range

set rng = 'some range

for each cel in rng
   ws.cel.value = "foo"
next

我想确保正确引用 sheet,使用 ws 作为 cel 引用的一部分似乎合乎逻辑,以确保 sheets 引用是明确的。

您需要包括如何设置 rng,这是帮助解决问题的重要信息。但一般来说,这应该有效:

Sub t()
Dim ws As Worksheet
Set ws = Sheets("sheet_1")

Dim cel As Range, rng As Range
Set rng = ws.Range("A1:C100")

For Each cel In rng.Cells
   cel.Value = "foo"
Next
End Sub