为什么需要打开VBA编辑器才能将数据加载到用户窗体中?

off*_*r35 -1 excel vba vbe

我有一个Excel文件,其中VBA宏将数据加载到用户窗体中。

如果我在没有打开编辑器的情况下运行它,有时它将崩溃并关闭Excel。

如何修复我的文件,这样我就不需要先打开编辑器?

来自宏的示例代码:

Public Sub LoadButton_Click()  

    'Policy Information  
    ZoneLatitudeTextBox.Text = Sheets("Saved Policy Values").Cells(2, 2)  
    ZoneLongitudeTextBox.Text = Sheets("Saved Policy Values").Cells(3, 2)  
    TownClassComboBox.Text = Sheets("Saved Policy Values").Cells(4, 2)  
Run Code Online (Sandbox Code Playgroud)

off*_*r35 5

该线程为我提供了我的问题的答案:

http://www.xtremevbtalk.com/excel/229325-excel-crashes-unless-vba-editor.html

当用户窗体的控件过多时,显然Excel会遇到内存问题。打开VBA编辑器会以某种方式绕过内存问题,并允许关联的宏正常运行。

要自动执行此过程,只需将以下代码行添加到宏的开头:

Application.VBE.MainWindow.Visible =真
Application.VBE.MainWindow.Visible =假