VBA工作簿\u打开时无法打开

VBA工作簿\u打开时无法打开,vba,excel,Vba,Excel,我正在努力处理下面的代码。首先,当我打开工作簿时,它似乎没有运行 我的第二个问题是,当我通过VBA手动运行此代码时(如F8所示)。当它到达Listindex/Listcount命令时,它会根据用户在组合框中的选择尝试运行一段单独的代码。这是因为它试图运行变量“Select Server”,而该变量显然不是服务器。但在打开工作簿时,我不希望它运行任何东西,我只希望使用简洁的指令“选择服务器” Option Explicit Private Sub Workbook_Open() With Ap

我正在努力处理下面的代码。首先,当我打开工作簿时,它似乎没有运行

我的第二个问题是,当我通过VBA手动运行此代码时(如F8所示)。当它到达Listindex/Listcount命令时,它会根据用户在组合框中的选择尝试运行一段单独的代码。这是因为它试图运行变量“Select Server”,而该变量显然不是服务器。但在打开工作簿时,我不希望它运行任何东西,我只希望使用简洁的指令“选择服务器”

Option Explicit

Private Sub Workbook_Open()

With Application
    '.Calculation = xlManual
    .EnableEvents = False
    .ScreenUpdating = False
End With

        Sheets("Data Summary").CB_Server.AddItem "Select Server"
        Sheets("Data Summary").CB_Server.AddItem "UK-SQL-Z001"
        Sheets("Data Summary").CB_Server.AddItem "UK-SQL-z002"
        Sheets("Data Summary").CB_Server.ListIndex = Sheets("Data Summary").CB_Server.ListCount - 3


        Sheets("Data Summary").CB_DB.AddItem "Select DB"
        Sheets("Data Summary").CB_DB.ListIndex = Sheets("Data Summary").CB_DB.ListCount - 1

        With Sheets("Data Summary").CB_Portfolio
        .AddItem
        .List(0, 0) = "Select Portfolio"
        .List(0, 1) = "Select Portfolio"
        End With

        Sheets("Data Summary").CB_CCY.AddItem "GBP"
        Sheets("Data Summary").CB_CCY.AddItem "EUR"
        Sheets("Data Summary").CB_CCY.AddItem "USD"
        Sheets("Data Summary").CB_CCY.ListIndex = Sheets("Data Summary").CB_CCY.ListCount - 3

Sheets("Data Summary").Range("D11:H23").Cells.ClearContents

Sheets("Data Sheet").Range("B2:G10").Cells.ClearContents

'Restore the settings.
With Application
    .Calculation = xlAutomatic
    .EnableEvents = True
    .ScreenUpdating = True
End With

End Sub

我做错了什么!提前感谢

此代码在哪里?它是否在本工作簿中?因为它不会在打开时运行,除非它是…是的,它保存在ThisWorkBook对象中。我可以运行一个简单的子文件,当文件打开时,它会弹出MsgBox。如果您想提供文件进行分析,我建议使用Box.com文件共享站点。如果您不希望此代码在open上运行,那么为什么它会出现在该过程中?这就是它不在该过程中的原因,工作簿open宏会以某种方式跳转到其中一个工作表中的另一个宏(工作簿open宏中甚至没有引用)并尝试接触SQL并摔倒?