#148 テキストボックスの値を↑・↓キーで増減させる方法 フォーム、VBA

フォームのテキストボックスコントロールに、次のような"KeyDown/キークリック時"イベントプロシージャを割り当てると、スピンボタンのような感覚で、↑・↓キーによってテキストボックスの数値を増減させることができます。

次の例では、"txtData"という名前のテキストボックスを使い、↑・↓キーによって、現在の値をそれぞれ+1・−1するようにしています。もし、増減させる値を10単位にしたいような場合には、定数 cintUpDownValue の値を10にします。
Private Sub txtData_KeyDown(KeyCode As Integer, Shift As Integer)

  '1回当たりの増減値
  Const cintUpDownValue As Integer = 1

  With Me!txtData
    If KeyCode = vbKeyUp Then
      '↑キーで値を増加
      .Value = Nz(.Value) + cintUpDownValue
    ElseIf KeyCode = vbKeyDown Then
      '↓キーで値を減少
      .Value = Nz(.Value) - cintUpDownValue
    End If
  End With

End Sub

※"KeyDown/キークリック時"イベントプロシージャには、「Shift」という引数も用意されています。この値を調べることによって、キーがクリックされたとき、Shiftキー・Ctrlキー・Altキーも同時に押されていたかどうかも知ることができます。これを応用することによって、「Shift+↑」キー操作では数値を10増やし、「Shift+Ctrl+↑」キー操作では100増やすといったこともできるようになります。「Shift」という引数はビットマスクによってその値を調べます。詳細はAccessのオンラインヘルプをご覧ください。
| Index | Prev | Next |

この情報は参考になりましたか?、問題は解決しましたか?、もしまだなら......
T'sWareのワンポイトテクニカルアドバイスをご利用ください。3000円/件〜でご支援します。
スタンドアロンからSQL Server対応まで、オーダーメイドのシステムを短納期・安価でお届けします
 

Copyright © T'sWare All rights reserved