戻る    次へ

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

【2】テキストボックスで日付をチェックして形式を統一する

テキストボックスで日付を入力する際にEXCELのように年を省略してmm/dd形式で入力すると自動でyyyy/mm/ddへ変換した結果を データとして保存したい。それにはテキストボックスのBeforeUpdateイベントに以下のような処理で行う。IsDate関数で日付チェックして から形式をyyyy/mm/ddへ変換する。その時に複数で利用する場合を見込んでSubプロシジャーを作成して利用する。
'以下標準モジュールに記述
'■
Sub date_ch(wob As Control, ByVal Cancel As MSForms.ReturnBoolean)
  With wob
    If IsDate(.Text) Then
      .Text = Format(.Text, "yyyy/mm/dd")
    Else
      If .Text = "" Then Exit Sub
      MsgBox "無効な文字列または無効な日付です", vbInformation
      Cancel = True 'フォーカスを移動しない
    End If
  End With
End Sub

'■ 以下ユーザフォームに記述する。テキストボックス名:TB_日付
Private Sub TB_日付_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
  Call date_ch(TB_日付, Cancel)
End Sub

  戻る    次へ

掲載情報

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