[英]VBA: Referencing a Worksheet in the Active Workbook
While this seems very basic, I am continually getting an error message while trying to select a cell in a certain sheet on my workbook in my Macro. 尽管这似乎很基本,但是在尝试在我的宏的工作簿中的某个工作表中选择一个单元格时,我不断收到错误消息。 Does any one know why this will not work?
有谁知道为什么这行不通吗? I'm getting error message Run Time Error '1004'.
我收到错误消息运行时错误'1004'。 The sheets name is "Sheet1"and my code is below:
工作表名称为“ Sheet1”,我的代码如下:
Application.ActiveWorkbook.Worksheets("Sheet1").Range("N2").Select
It's bad practice to use ActiveWorkbook
when you don't need to. 不需要时使用
ActiveWorkbook
是一种不好的做法。 It's always better to set your workbooks and worksheets to actual variables that you can call on. 最好将工作簿和工作表设置为可以调用的实际变量。 I think your code is activating another workbook then trying to select a range in a worksheet it can't find.
我认为您的代码正在激活另一个工作簿,然后尝试在无法找到的工作表中选择一个范围。
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.