Excel VBA 「カー計簿」登録処理
Excel VBA 「カー計簿」登録処理
入力した値のチェック終了後、登録処理を行います。
Excel VBA 「カー計簿」登録処理
登録ボタン押下でデーター登録処理を開始します。入力項目の妥当性チェック後、登録処理を行います。
登録処理(ID番号を更新・取得)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
Private Sub cmd_Add_Click() Dim Wk_Error_Flg As String 中略 Const OIL_CHANGE As String = "エンジンオイル交換" Const CAR_WASH As String = "洗車" Set Sh_Data = Worksheets("Data") Set Sh_Temp = Worksheets("Temp") Set Sh_Mst = Worksheets("Mst") 中略 If lbl_Mode.Caption = "新規" Then wk_Line = Worksheets("Mst").Range("B1:B5").Find("C").Row Wk_NO = Worksheets("Mst").Cells(wk_Line, "C") + 1 Worksheets("Mst").Cells(wk_Line, "C").Value = Wk_NO Sh_Data.Cells(Wk_DLNext, "A").Value = Wk_NO End If |
新規登録するレコードのID番号を取得し、更新します。C2の「27」がそれです。
登録処理(ワークシートDataの最終行を取得)
1 2 3 4 5 6 7 8 9 |
Set Sh_Data = Worksheets("Data") Set Sh_Temp = Worksheets("Temp") Set Sh_Mst = Worksheets("Mst") Wk_MstLine = Sh_Mst.Cells(Rows.Count, 13).End(xlUp).Row '''Mstの最終行 Wk_DLine = Sh_Data.Cells(Rows.Count, 1).End(xlUp).Row Wk_DLNext = Wk_DLine + 1 '''Dataシート最終行 Wk_TLine = Sh_Temp.Cells(Rows.Count, 1).End(xlUp).Row Wk_TLNext = Wk_TLine + 1 '''Tempシート最終行 |
ワークシートDataの最終行はSh_Data.Cells(Rows.Count, 1).End(xlUp).Rowで取得することができます。最終行+1を変数(Wk_DLNext)にセットします。
登録処理のソースリスト(ワークシートDataを更新)
1 2 3 4 5 6 7 8 9 10 11 12 13 |
If lbl_Mode.Caption = "新規" Then wk_Line = Worksheets("Mst").Range("B1:B5").Find("C").Row Wk_NO = Worksheets("Mst").Cells(wk_Line, "C") Worksheets("Mst").Cells(wk_Line, "C").Value = Wk_NO Sh_Data.Cells(Wk_DLNext, "B").Value = "N" + CStr(Wk_NO) Sh_Data.Cells(Wk_DLNext, "C").Value = "入力" Sh_Data.Cells(Wk_DLNext, "D").Value = txt_Date Sh_Data.Cells(Wk_DLNext, "E").Value = Cmb_Bunrui Sh_Data.Cells(Wk_DLNext, "F").Value = Cmb_Komok Sh_Data.Cells(Wk_DLNext, "G").Value = txt_Biko.Value Sh_Data.Cells(Wk_DLNext, "H").Value = txt_KinGaku.Value Sh_Data.Cells(Wk_DLNext, "K").Value = Date Sh_Data.Cells(Wk_DLNext, "L").Value = Time |
入力画面の各項目を次の行(WK_DLNext)を指定してセットします。
更新処理後の画面設定
更新処理終了後には次のデータを登録するために各項目をクリアします。日付については同一日付で連続入力があり得るためクリアせずに表示したままとしています。
1 2 3 4 5 |
lbl_処理名.Caption = "入力処理" Cmb_Bunrui.Value = "" Cmb_Komok.Value = "" txt_KinGaku.Value = "" txt_Biko.Value = "" |
まとめ
- 登録ボタンを押すと入力チェックを行い、データに問題がなければ登録処理に入ります。
- MstにあるID番号を取得し、プラス1してデータシートの最終行に登録します。
- 次のデータを入力するために日付以外の各項目の内容をクリアします。