web-dev-qa-db-ja.com

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

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

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

Plsは提案します。

8
Premanshu

そのために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
20
Siddharth Rout