У меня есть программа VBA, которая открывает серию пользовательских форм.
Я спроектировал все это на своем ноутбуке и протестировал его на некоторых других ноутбуках.Как в Excel 2010, так и в 2016 году.
Я поделился этим с коллегами, которые используют другой стиль ноутбука (Win7, Office 2010).Каждый раз, когда они нажимают кнопку, чтобы открыть пользовательскую форму, они получают катастрофический сбой из-за нехватки памяти.
Я видел в Интернете, что модули должны иметь размер менее 64 КБ.Модуль, используемый для открытия кнопки, очень маленький (просто открывается UserForm1).
Файл пользовательской формы frm составляет 4 КБ.
Файл пользовательской формы frx имеет размер 1,24 МБ, поскольку он содержит изображения и т. Д.
Код, который запускает пользовательская форма.
Private Sub ComboBox1_DropButtonClick()
'Determines the controller model based off selection
If ComboBox1.Text = "VHX-6000 + VHX-A60E" Then
Controller = 6000
Else
Controller = 950
End If
'Updates textbox1 with current pricing info
TextBox1.Text = Application.VLookup(Controller, Sheet3.Range("A37:C45"), 2, 0)
End Sub
Private Sub Continue1_Click()
price = 0
'Determines if it should show the camera page based on the controller selection
If Controller = 6000 Then
CameraForm.Show
Else
Camera = 6020
StageForm.Show
End If
End Sub
Private Sub Image6_BeforeDragOver(ByVal Cancel As MSForms.ReturnBoolean, ByVal Data As MSForms.DataObject, ByVal X As Single, ByVal Y As Single, ByVal DragState As MSForms.fmDragState, ByVal Effect As MSForms.ReturnEffect, ByVal Shift As Integer)
End Sub
Private Sub Label2_Click()
End Sub
Private Sub UserForm_Activate()
'Make Sheet 3 activate to avoid that weird error message towards the end
Worksheets("sheet3").Activate
'Sets the dropdown list
ComboBox1.List() = Sheet3.Range("C6:C7").Value
'Clears the quote information if present
Sheet3.Range("M51:O100").ClearContents
Controller = 0
End Sub
Private Sub UserForm_Click()
End Sub
Private Sub UserForm_Initialize()
'Full Screen
With Me
.Width = Application.Width
.Height = Application.Height
End With
End Sub