戻る    次へ

Hamsterお買い物リストメール送信家計簿のアイコン画像VBA Hamster編

【3】テキストボックスで日付や数値を矢印キーで増減させる

当日やゼロのように初期値が存在する場合は、テキストボックスで日付や数値を上下の矢印キーで値を増減をさせると 便利になる場合も多い。これを実現するにはKeyDownイベントを利用して押されたキーコードとシフトキーが同時に 押されたかを判定する。
仕様は上矢印キーで+1、下矢印キーで−1とし、シフトキーが同時に押された場合は10増減する。
尚、数字、日付にはエラーが無いことを事前にBeforeUpdateイベンでチェックしておく必要がある。

'■ 以下ユーザフォームに記述する。テキストボックス名:TB_日付
Private Sub TB_日付_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
  Call YAKey(TB_日付, KeyCode, Shift, 1)  '日付なので第三引数は1にする
End Sub

'以下標準モジュールに記述
'■
Sub YAKey(ob As Control, Ky As Variant, Sh As Variant, md As Long)
  '引数md 数値:0 , 日付:1
  Dim wv As Long
  If Sh = 0 Then  'シフトキーは押されていない
    wv = 1
  Else
    wv = 10
  End If
  Select Case Ky
    Case vbKeyDown
      If md = 0 Then
        ob.Value = ob.Value - wv
      Else
        ob.Value = CDate(ob.Value) - wv
      End If
      Ky = 0
    Case vbKeyUp
      If md = 0 Then
        ob.Value = ob.Value + wv
      Else
        ob.Value = CDate(ob.Value) + wv
      End If
      Ky = 0
  End Select
End Sub

  戻る    次へ

掲載情報

2009.1.20にフリーソフトであるGriffinEXCELテーブルとVBA2htmlが紹介された本が発売されました。この本のP99にHTML関連として紹介されています。