我一直在研究How To Avoid Using Select in Excel VBA Macros中的一些想法。我的测试工作簿中有3张纸,并希望在执行其他操作后将光标移动到每张纸上的特定单元格。以下输入单元格值,但仅在初始工作表上将activecell移动到M5:
Dim rngTest As Range
Dim shtTest As Worksheet
Set rngTest = [M5]
For Each shtTest In ThisWorkbook.Sheets
With shtTest
.Range("m10").Value = "hello"
End With
rngTest.Select
Next shtTest
这就是我想做的事情(输入单元格值然后移到每张纸上的M5):
Dim rngTest As Range
Dim shtTest As Worksheet
Set rngTest = [M5]
For Each shtTest In ThisWorkbook.Sheets
With shtTest
.Range("m10").Value = "hello"
End With
[M5].Select
Next shtTest
在上面的示例中,我尝试先将每张工作表激活,然后再转到rngTest,但这会产生1004错误。
那么,为什么[M5]。选择工作而rngTest.Select失败?
答案 0 :(得分:1)
只是为了澄清:
[M5]
然而,我建议不要使用Range("M5")
来引用特定的单元格/范围。我也希望改为使用Cells(5, "M")
或Cells(5, 13)
或{{1}}。