10

vba 中是否有内置的数字 updown 控件,或者我们是否需要创建这样的控件?

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

请建议。

4

1 回答 1

23

您可以使用该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
于 2012-06-20T09:47:29.560 回答