我目前正在编写一个简单的宏(见下文)。我打算让宏更改我的工作簿中的所有工作表。但是,它只会更改我所在的活动工作表中的单元格,我必须手动移动到下一个工作表并运行宏来更改当前的单元格,但它很繁琐,特别是当我有大约125个工作表要更新时。
Sub worksheetloop()
Dim sh As Worksheet
With ThisWorkbook
For Each sh In ActiveWorkbook.Worksheets
Range("$F$5") = "toothwidth" ' Key contact
Range("$F$8") = "x,y,z" ' Core team
Range("$J$5") = "bleh" 'date
Range("$L$5") = "9/12/" 'Updated
Range("$M$5") = "A" ' Revision Date
Next sh
End With
End Sub
答案 0 :(得分:3)
您需要在Range
循环中使用sh
工作表对象限定For Each sh In ActiveWorkbook.Worksheets
。{/ p>
尝试以下代码:
Dim sh As Worksheet
For Each sh In ThisWorkbook.Worksheets
With sh
.Range("$F$5") = "toothwidth" ' Key contact
.Range("$F$8") = "x,y,z" ' Core team
.Range("$J$5") = "bleh" 'date
.Range("$L$5") = "9/12/" 'Updated
.Range("$M$5") = "A" ' Revision Date\
End With
Next sh