是否可以从VBA激活Excel工作表而不实际离开启动宏的工作表?
答案 0 :(得分:2)
是的,您可以使用with
命令
With Sheets("Sheet2") 'Sheet2 is the new sheet
Debug.Print .Range("A1")
'Run your desired code here.
End With
答案 1 :(得分:2)
是
ThisWorkbook.Worksheets(2).Activate
这将使所需的工作表设置为活动状态。请注意,如果您没有首先禁用Application.ScreenUpdating
,如此处的其他答案中所述,工作表将会明显跳转,以便显示活动工作表。
但是,我必须问,为什么需要激活工作表?如果要对位于该工作表上的单元格运行某些命令,则可以在不首先激活工作表的情况下执行此操作:
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets(2)
ws.Range("A1").Value = "Hello world"
此代码段会将“Hello world”插入工作簿中第二个工作表的单元格A1
中 - 无需激活工作表。
答案 2 :(得分:1)
您可以将Application.ScreenUpdating
属性设置为false
,工作完成后,将其恢复为true
。
请参阅示例:https://msdn.microsoft.com/en-us/library/office/ff193498.aspx