Excel VBA で「カー家計簿」日付の入力
日付の登録処理
日付テキストボックスの設定
txt_Dateとします。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
Private Sub cmd_Select_Click() Dim rc As Integer If cmd_Select.Caption = "実行" Then Dim Text As String If (cmb_Proc.Value = Null) Or (cmb_Proc.Value = "") Then MsgBox ("メニューから処理を選択してください。") Else Pub_ProcName = Mid(cmb_Proc.Value, 1, 4) Select Case Pub_ProcName Case "入力処理" Syuko_Proc TempCopyProc ("入力") lbl_Mode.Caption = "新規" List_Meisai_Display txt_KinGaku.Value = "" lbl_Mode.Visible = True txt_Date = Format(Date, "yyyy/mm/dd") cmd_Select.Caption = "終了" Case "印刷処理" frmSyukoSyukei.Show End Select |
日付のテキストボックス(txt_Date) に 当日日付をyyyy/mm/ddの形式で表示させます。txt_Date = Format(Date, “yyyy/mm/dd”)
コマンドボタンを配置します
ボタンをクリックにカレンダーを表示させます。
1 2 3 4 5 |
Private Sub cmd_Date_Click() frmCalendar.EntryControl = "txt_Date" frmCalendar.Show End Sub |
カレンダーから日付を選択できるようにします。
スピンボタンを配置します
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
Private Sub SpinButton1_SpinDown() If (txt_Date.Value = Null) Or (txt_Date.Value = "") Then MsgBox ("日付を入力してください。") Exit Sub Else Dim dtDate As Date dtDate = txt_Date.Value txt_Date.Value = DateAdd("d", -1, dtDate) End If End Sub Private Sub SpinButton1_SpinUp() If (txt_Date.Value = Null) Or (txt_Date.Value = "") Then MsgBox ("日付を入力してください。") Exit Sub Else Dim dtDate As Date dtDate = txt_Date.Value txt_Date.Value = DateAdd("d", 1, dtDate) End If End Sub |
スピンボタン処理:上矢印ボタンでSpinUP、下矢印ボタンでSpinDown処理を行います。Upで以下のように日付を1つDateADDします。
txt_Date.Value = DateAdd(“d”, 1, dtDate)
Downで以下のように日付を-1、DateADDします。
txt_Date.Value = DateAdd(“d”, -1, dtDate)
まとめ
・日付表示の際、初期値として当日日付をセットします。
・入力しやすいようにボタンを配置してカレンダーを表示させます。
・カレンダーから日付選択してテキストボックスに反映させます。
・スピンボタンで日付をアップやダウンさせます。