Excel VBA で「カー家計簿」テキストボックス
テキストボックスの自動入力
分類に変化があったら備考テキストボックスに自動入力
イメージは下図の様に分類マスタの値によって備考のテキストボックスに関係する値を表示させる仕組みです。
分類のコンボボックスでメンテナンス選択時にODOを、給油選択時にL、KM、ODOを表示させる仕組みになっています。
テキストボックスの自動入力のソースリスト
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
Private Sub Cmb_Bunrui_Change() Dim Wk_Name As String Dim j As Long Dim Wk_Txt_Biko_Idx As Integer 中略 Wk_Txt_Biko_Idx = Cmb_Bunrui.ListIndex + 1 If Pub_ProcName = "入力処理" Then 中略 If Worksheets("Mst").Cells(11, Wk_Txt_Biko_Idx + 4) = "" Then txt_Biko.Value = "" Else txt_Biko.Value = Worksheets("Mst").Cells(11, Wk_Txt_Biko_Idx + 4) End If txt_KinGaku = "" End If End Sub |
「分類コンボボックスに変化があったら」というトリガーを使います。
Private Sub Cmb_Bunrui_Change()というサブルーチンを作ります。
選択した分類マスタのインデックス(Cmb_Bunrui.ListIndex)よりワークシート「Mst」の11行目に表示すべき文字列が存在するかチェックします。
(If Worksheets(“Mst”).Cells(11, Wk_Txt_Biko_Idx + 4) = “” )表示すべき文字列が存在する場合はその文字列をtxt_Bikoにセットします。
(txt_Biko.Value = Worksheets(“Mst”).Cells(11, Wk_Txt_Biko_Idx + 4))
まとめ
・テキストボックスに自動入力をおこなう方法について
・分類の内容によって関連した記録したい項目をセットし、備考テキストボックスに入力を促します。
・例では分類がメンテナンスの時にODOメーターKmを、給油の際にL ,Km、ODOをセットできるように自動表示させます。
・分類コンボボックスに変化があったとき(Cmb_Bunrui_Change())分類のインデックスを取得し(Cmb_Bunrui.ListIndex)、該当する指定行に表示すべき文字列が存在するかどうか判断(If Worksheets(“Mst”).Cells(11, Wk_Txt_Biko_Idx + 4) = “” )し、存在する場合はその文字列を表示(txt_Biko.Value = Worksheets(“Mst”).Cells(11, Wk_Txt_Biko_Idx + 4))させます。