目前我已在工作表1" Sheet1"中创建了VBA代码。如
Private Sub Worksheet_Activate ()
所以每次打开工作表时,VBA代码都会自动运行。
但我现在面临的问题是每次打开Excel工作簿时,即使我在ThisWorkbook中添加了编码,
Private Sub Workbook_Open()
Worksheets("Sheet1").Activate
End Sub
工作表将首先显示,但VBA代码不会自动运行。每次我需要转移另一个工作表然后再转回,然后只运行VBA代码,这非常烦人,是否有任何解决方案可以解决这个问题?
答案 0 :(得分:4)
如果该工作表已处于活动状态,则使用Worksheet.Activate method赢了。
Private Sub Workbook_Open()
Application.ScreenUpdating = False
Worksheets("Sheet2").Activate
Worksheets("Sheet1").Activate
Application.ScreenUpdating = True
End Sub
确保将激活触发器传递给另一个工作表并返回到Sheet1,以便运行Worksheet_Activate事件宏或只运行Workbook_Open子代码。
答案 1 :(得分:0)
制作Worksheet_Activate
Public
而不是Private
,然后在Worksheet("???").Worksheet_Activate
代码中运行Workbook_Open
。