VBA:在Active Workbook中引用工作表

虽然这看起来非常基本,但我一直在尝试在我的macros的工作簿中select某个工作表中的单元格时出现错误消息。 有没有人知道为什么这不起作用? 我收到错误消息运行时错误“1004”。 工作表名称是“Sheet1”,我的代码如下:

Application.ActiveWorkbook.Worksheets("Sheet1").Range("N2").Select 

当你不需要的时候使用ActiveWorkbook是不好的做法。 将工作簿和工作表设置为可以调用的实际variables总是更好。 我认为你的代码正在激活另一个工作簿,然后试图在工作表中select一个找不到的范围。

 Sub TryThis() Dim wbk As Workbook Dim ws As Worksheet Set wbk = Workbooks("myWorkbook.xlsm") Set ws = wbk.Worksheets("Sheet1") 'Now when we say "ws." it is actually "Workbooks("myWorkbook.xlsm").Worksheets("Sheet1")." 'This is okay to start with but it's better to work with the cells directly ws.Select Range("N2").Select Selection = "myText" 'This is much faster and you won't have to worry about what is currently selected ws.Range("N2") = "myText" End Sub