在VBA中激活Excel工作表,无需导航到工作表
是否有可能从VBA激活Excel工作表,而实际上远离从其启动macros的工作表?
是的,您可以使用with
命令直接在新build工作表中运行所需的代码
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"
该代码片段将在工作簿的第二个工作表中的单元格A1
插入“Hello world” – 不需要工作表激活。
您可以将Application.ScreenUpdating
属性设置为false
,完成工作后,将其恢复为true
。
请参阅示例: https : //msdn.microsoft.com/en-us/library/office/ff193498.aspx