Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel VBA:如何在不运行宏的情况下打开Excel文件,但要在激活工作簿时运行宏?_Excel_Vba - Fatal编程技术网

Excel VBA:如何在不运行宏的情况下打开Excel文件,但要在激活工作簿时运行宏?

Excel VBA:如何在不运行宏的情况下打开Excel文件,但要在激活工作簿时运行宏?,excel,vba,Excel,Vba,我目前在本工作簿中有以下子项。每当激活此工作簿时,我都希望运行此子“子名称”,但不希望在打开文件时运行宏(它当前运行“子名称”,这会导致错误,因为加载数据大约需要5秒钟,宏才能正常工作) 谢谢 Private Sub Workbook_Activate() SubName End Sub 尝试在子名称之前添加此项: Do Until Application.Ready = True DoEvents: Loop 也许你可以试试下面的代码 Option Explicit Dim justO

我目前在
本工作簿中有以下子项。每当激活此工作簿时,我都希望运行此子“子名称”,但不希望在打开文件时运行宏(它当前运行“子名称”,这会导致错误,因为加载数据大约需要5秒钟,宏才能正常工作)

谢谢

Private Sub Workbook_Activate()

SubName

End Sub

尝试在
子名称之前添加此项:

Do Until Application.Ready = True
DoEvents: Loop

也许你可以试试下面的代码

Option Explicit
Dim justOpened As Boolean

Private Sub Workbook_Activate()
    If justOpened Then
        justOpened = False
    Else
        MsgBox "Activate"
        ' Your Sub here
    End If
End Sub

Private Sub Workbook_Open()
    justOpened = True
End Sub