Excel VBAで「カー計簿」のプログラミング・初期画面表示
「カー計簿」を自動起動し、初期画面(フォーム)の表示
「カー計簿」を自動起動し、初期画面(フォーム)を表示させるプログラムです。
ExcelVBAで「カー計簿」を起動
エクセルをダブルクリックし起動します。
ExcelVBAで「カー計簿」のフォーム起動
1 2 3 4 5 6 7 8 9 10 |
Private Sub Workbook_Open() '---------------------------------- 'ExcelBook起動時、メインメニューを起動 '---------------------------------- frmMainMenu.Show End Sub |
エクセル起動時(=Workbook_Open)にメインメニューのフォーム(frmMainMenu)を開きます(=Show)。
ExcelVBAで「カー計簿」のフォーム編集
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
Private Sub UserForm_Initialize() Dim i As Integer lbl_処理名.Visible = False lbl_日付.Visible = False lbl_アイテム名.Visible = False lbl_単位.Visible = False 中略 Op_Button2.Visible = False cmd_Select.Caption = "選択" For i = 2 To 999 If Len(Worksheets("Mst").Cells(i, "A")) = 0 Then Exit For '//カラム"A":処理名 cmb_Proc.AddItem (Worksheets("Mst").Cells(i, "A")) Next |
UserForm_Initializeサブルーチンが最初に実行されるため定義したfrmMainMenuの処理選択の処理のみ画面表示させます。ラベル選択処理、コンボボックスcmb_Proc、選択ボタンcmd_Select(Captionを選択として)表示し、他の部分は非表示とします。
ExcelVBAで「カー計簿」のフォーム表示
右三角のフォームの実行ボタンをクリックするかまたはF5押下で実行されます。
上図の様に表示されます。
まとめ
・VBEで「thisworkbook」にworkbook_openサブルーチンにフォームを表示させるプログラムを記述します。今回の「カー計簿」の場合はfrmMainMenuなのでfrmMainMenu.showと記述します。
・UserForm_InitializeにfrmMainMenuのオープン時の処理を記述します。処理選択に関する部分を表示させ、他は非表示とします。
・フォームの実行ボタンかF5を押下して実行し結果を確認します。