数字向上控制在vba中

时间:2012-06-20 09:43:15

标签: excel-vba excel-2010 numericupdown vba excel

vba中是否有内置的数值更新控件,还是需要创建这样的控件?

如果有这样的控制,那么我们可能会使用哪些事件。

请建议。

1 个答案:

答案 0 :(得分:19)

您可以使用SpinButton1控件

<强>快照

enter image description here

<强> 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