数字向上控制在vba中

Pre*_*shu 9 excel vba numericupdown excel-vba excel-2010

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

如果有这样的控制,那么我们可以使用什么事件.

请建议.

Sid*_*out 21

您可以使用该SpinButton1控件

快照

在此输入图像描述

您可以设置SpinButton1设计时间的最小值和最大值,也可以在运行时设置,如下所示.

Private Sub UserForm_Initialize()
    SpinButton1.Min = 0
    SpinButton1.Max = 100
End Sub

Private Sub SpinButton1_Change()
    TextBox1.Text = SpinButton1.Value
End Sub
Run Code Online (Sandbox Code Playgroud)

跟进

如果要根据用户在文本框中输入的内容增加或减少文本框的值,请使用此选项.这也使文本框成为"仅限数字"文本框,它只是满足您的其他请求;)

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
Run Code Online (Sandbox Code Playgroud)