VBA中是否有内置的数字增减控件,或者我们需要创建类似的控件?
如果有这样的控件,那么我们可以使用哪些事件?
请提供建议。
VBA中是否有内置的数字增减控件,或者我们需要创建类似的控件?
如果有这样的控件,那么我们可以使用哪些事件?
请提供建议。
SpinButton1
控件来实现这个功能。
快照
你可以在设计时或运行时设置 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
.Locked
属性设置为TRUE
,这样用户就无法手动输入。剩下的旋转按钮会处理它 :) - Siddharth Rout免费
的方法。MSDN
+像SO这样的论坛
+Google
:) 当你有时间时,尝试访问旧问题并查看人们如何解决各种问题。它们真的是学习的好方法 :) 如果你想购买一本书,你可能想尝试John Walkenbach的一本书。http://spreadsheetpage.com/index.php/books/ - Siddharth Rout