vba中是否有内置的数值更新控件,还是需要创建这样的控件?
如果有这样的控制,那么我们可能会使用哪些事件。
请建议。
答案 0 :(得分:19)
您可以使用SpinButton1
控件
<强>快照强>
<强> CODE 强>
您可以在设计时或运行时设置SpinButton1
的最小值和最大值,如下所示。
Private Sub UserForm_Initialize()
SpinButton1.Min = 0
SpinButton1.Max = 100
End Sub
Private Sub SpinButton1_Change()
TextBox1.Text = SpinButton1.Value
End Sub
<强>后续强>
如果要根据用户在文本框中输入的内容增加或减少文本框的值,请使用此选项。这也使文本框成为“仅限数字”文本框,只满足您的其他请求;)
Private Sub SpinButton1_SpinDown()
TextBox1.Text = Val(TextBox1.Text) - 1
End Sub
Private Sub SpinButton1_SpinUp()
TextBox1.Text = Val(TextBox1.Text) + 1
End Sub
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case vbKey0 To vbKey9, 8
Case Else
KeyAscii = 0
Beep
End Select
End Sub