在我的Excel电子表格中,我使用下面的VBA代码获取一个用户窗体作为ComboBox,其值分别为Q1,Q2,Q3和Q4。
用于调用 UserForm1 (连接到电子表格上的按钮)的VBA代码:
Sub Test()
Call UserForm1.Show(vbModeless)
End Sub
UserForm1 的VBA代码:
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.
定义的位置。
如何避免这种从默认位置到定义位置的跳跃?
答案 0 :(得分:0)
您可以在用户窗体属性中设置默认位置,而不是在用户窗体加载时重新分配位置。