我目前正努力在Excel 2010中使用我的VBA中的For Each方法。
我之前使用过的方法并没有问题但是对于我的生活,我似乎无法获得我写的新功能。
这是:
Sub A2_Color_Bob()
Dim sh As Worksheet
For Each sh In Sheets
Range("A2").Value = "Bob"
Next sh
End Sub
答案 0 :(得分:3)
它不起作用的原因是你没有指定这一行中的哪个工作表
Range("A2").Value = "Bob"
因此,将使用默认工作表,即ActiveSheet
因此,正如其他人所提到的那样,应该改为
sh.Range("A2").Value = "Bob"
答案 1 :(得分:0)
我认为您的问题是您的Range是全局的,但您正在尝试设置特定单元格的值。
做了一些检查,这是有效的。
Sub A2_Color_Bob()
Dim sh As Worksheet
每张sh In Sheets sh.Cells(1,1).Value =“bob” 下一步sh
End Sub
答案 2 :(得分:0)
将工作表中的每个sh更改为工作表中的...
或者也可以 昏昏欲睡
for i=1 to worksheets.count
sheets(i).range("A2")=bob"
next i