vbaの数値アップダウンコントロール

2012年06月20日に質問されました。  ·  閲覧回数 46.9k回  ·  ソース

Premanshu picture
2012年06月20日

vbaに組み込みの数値アップダウンコントロールがありますか、それともそのようなコントロールを作成する必要がありますか?

そのようなコントロールがある場合、使用できるイベントは何ですか。

plsは提案します。

回答

Siddharth Rout picture
2012年06月20日
22

そのためにSpinButton1コントロールを使用できます

スナップショット

enter image description here

コード

以下に示すように、設計時または実行時に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