目标:
当我在VBA用户表单中切换页面时,我希望某个字段成为第一个输入值。然后我希望它们在我通过它们时顺序切换。
到目前为止我做了什么:
页面被创建(在大多数情况下,它们仍然需要艺术头脑使它看起来像工程师没有这样做),逻辑制定,基本上一切都已完成。输入字段tabIndex属性从20开始设置,按照我想要的顺序上升到27.图片将在下面附加。
问题:
当我按下下一个按钮时,用户窗体自动进入“冷却系统”下拉菜单。如果我按Tab键,它会转到下一个下拉列表。然后以奇怪但不变的顺序通过其他选项。而奇怪的是,我可以打字,但没有文字出现。光标移动,但后面没有任何东西。在我查看了所有内容之后,如果我再次按Tab键,那么它就会按照我的要求执行操作。我附上图片和下一个按钮的代码。感谢您的高级帮助。如果我能说清楚的话,请告诉我!
问题页面(我试图显示当你输入时没有显示任何内容,它会自动显示下拉菜单):
“下一步”按钮的代码:
Private Sub bNextSystem1_Click() 'checks to see if all parameters are entered
If IsNumeric(Me.txtS1elec.value) = True And IsNumeric(Me.txtS1NG.value) = True And IsNumeric(Me.txtS1sqft.value) = True Then
If Me.txtS1elec.value <> "" And Me.txtS1NG.value <> "" And Me.txtS1sqft.value <> "" And Me.ddS1Cooling.ListIndex > -1 And Me.ddS1Heating.ListIndex > -1 Then
NextPage
Me.txtS1elec.BackColor = vbWhite
Me.txtS1NG.BackColor = vbWhite
Me.txtS1sqft.BackColor = vbWhite
Else
MsgBox "Please check to see if all options are selected or entered."
GoTo CleanFail
End If
Else
HighlightBadCells1 'checks for incorrect cell input values
MsgBox "Please check the highlighted cells"
GoTo CleanFail
End If
Me.txtS2elec.value = Me.txtS1elec.value
Me.txtS2NG.value = Me.txtS1NG.value
CleanFail:
End Sub
“NextPage”子例程的代码:
Private Sub NextPage()
MultiPage1.Pages(MultiPage1.value + 1).Visible = True 'hides current page
MultiPage1.Pages(MultiPage1.value).Visible = False 'reveals next page
End Sub