В своей электронной таблице Excel я использую приведенные ниже коды VBA, чтобы получить пользовательскую форму в качестве ComboBox со значениями Q1, Q2, Q3 и Q4.
Код VBA для вызова UserForm1 (подключен к кнопке в электронной таблице):
Sub Test()
Call UserForm1.Show(vbModeless)
End Sub
VBA код UserForm1 :
Private Sub UserForm_Activate()
Me.Top = 200
Me.Left = 800
ComboBox1.List = Array("Q1", "Q2", "Q3", "Q4")
End Sub
Private Sub CommandButton1_Click()
Unload UserForm1
End Sub
Как вы можете видеть в моем коде, я хочу указать UserForm в моей электронной таблице.
Поэтому я использую me.Top
и me.Left
.
Когда я нажимаю на кнопку, чтобы вызвать UserForm1 , Excel сначала помещает UserForm в ее значение по умолчанию для мини-секунды и после этого он переходит в положение, которое я определил с помощью me.
в моем коде.
Как я могу избежать этого перехода из положения по умолчанию в заданное положение?