[英]VBA: Referencing a Worksheet in the Active Workbook
尽管这似乎很基本,但是在尝试在我的宏的工作簿中的某个工作表中选择一个单元格时,我不断收到错误消息。 有谁知道为什么这行不通吗? 我收到错误消息运行时错误'1004'。 工作表名称为“ Sheet1”,我的代码如下:
Application.ActiveWorkbook.Worksheets("Sheet1").Range("N2").Select
不需要时使用ActiveWorkbook
是一种不好的做法。 最好将工作簿和工作表设置为可以调用的实际变量。 我认为您的代码正在激活另一个工作簿,然后尝试在无法找到的工作表中选择一个范围。
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.