繁体   English   中英

VBA:引用活动工作簿中的工作表

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM