1

我目前正在努力让 For Each 方法在 Excel 2010 的 VBA 中工作。

我以前使用过该方法并且没有问题,但是对于我的生活,我似乎无法让我编写的新功能正常工作。

这里是:

Sub A2_Color_Bob()

Dim sh As Worksheet

For Each sh In Sheets
Range("A2").Value = "Bob"
Next sh

End Sub
4

3 回答 3

3

它不起作用的原因是您没有指定此行中的哪个工作表

Range("A2").Value = "Bob"

因此,将使用默认工作表,即ActiveSheet

因此,正如其他人也提到的,它应该改为

sh.Range("A2").Value = "Bob"

于 2013-11-01T06:48:34.640 回答
0

我认为您的问题是您的 Range 是全局的,但您正在尝试设置特定单元格的值。

做了一些检查,这行得通。

子 A2_Color_Bob()

暗淡为工作表

对于表格中的每个 sh.Cells(1, 1).Value = "bob" Next sh

结束子

于 2013-11-01T06:44:41.797 回答
0

将工作表中的每个 sh 更改为 ...在工作表中

或者也可以做 dim i 只要

for i=1 to worksheets.count
  sheets(i).range("A2")=bob"
next i
于 2013-11-02T13:07:29.270 回答