繁体   English   中英

在VBA中激活Excel工作表,而无需导航到工作表

[英]Activate Excel sheet in VBA without navigating to the worksheet

是否可以从VBA激活Excel工作表而无需实际离开启动宏的工作表?

是的,您可以使用with命令在新工作表中直接运行所需的代码

With Sheets("Sheet2") 'Sheet2 is the new sheet
    Debug.Print .Range("A1")
    'Run your desired code here.
End With

是。

ThisWorkbook.Worksheets(2).Activate

这将使所需的工作表设置为活动状态。 请注意,如果不首先禁用Application.ScreenUpdating (如此处的其他答案所述),则工作表将明显跳来跳去,以便显示活动的工作表。

但是,我必须问,为什么需要激活工作表? 如果要对位于该工作表上的单元格运行某些命令,则无需先激活工作表即可:

Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets(2)

ws.Range("A1").Value = "Hello world"

此代码段会将“ Hello world”插入工作簿中第二个工作表上的单元格A1中-无需激活工作表。

您可以将Application.ScreenUpdating属性设置为false ,然后在完成工作后将其恢复为true
请参考示例: https : //msdn.microsoft.com/en-us/library/office/ff193498.aspx

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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