練習課題1
TMP.xlsを開いて別名で保存しておきます。(これは基本中の基本でした。)
ここでは「練習1.xls」と名前を付けました。
sheet1に右図のような帳票を作成します。
セル内の数値や算式は自動的に入力しますので不要ですが、セルの桁指定をB列は小数点2桁、C列、D列は小数点0桁にしておいて下さい。図1:
図2:
VBEを起動しユーザーフォームにラベル2個、テキストボックス2個、ボタン2個を貼り付けます。各コントロールのプロパティを設定して下さい。
コントロール プロパティ 設定値 UserForm1 Caption 練習1 Label1 Caption 数量 Label2 Caption 単価 TextBox1 オブジェクト名 txt数量 IMEMode 2-fmIMEModeOff Value 0 TextBox2 オブジェクト名 txt単価 IMEMode 2-fmIMEModeOff Value 0 CommandButton1 オブジェクト名 btn入力 Caption 入力 CommandButton2 オブジェクト名 btn入力 Caption 閉じる プロジェクトエクスプローラから標準モジュールのModule1をダブルクリックしてコードを記述します。
-----リスト1 01:Option Explicit 02: Public dialog As Boolean 03: 04:Sub データ入力() 05: dialog = True 06: Sheets("sheet1").Select 07: Range("B13").End(xlUp).Activate 08: ActiveCell.Offset(1, 0).Activate 09: Do Until dialog = False 10: UserForm1.Show 11: Loop 12:End Subユーザーフォームの「入力」ボタンをダブルクリックしてコードウインドウを開き、コードを入力します。
-----リスト2 01:Private Sub btn入力_Click() 02: ActiveCell.Value = txt数量.Value 03: ActiveCell.Offset(0, 1).Activate 04: ActiveCell.Value = txt単価.Value 05: ActiveCell.Offset(0, 1).Activate 06: ActiveCell.FormulaR1C1 = "=RC[-2]*RC[-1]" 07: ActiveCell.Offset(1, -2).Activate 08: Unload UserForm1 09:End Sub同様に「閉じる」ボタンをダブルクリックしてコードウインドウを開き、コードを入力します。
-----リスト301:Private Sub btn閉じる_Click() 02: Range("D14").Activate 03: ActiveCell.FormulaR1C1 = "=SUM(R5C4:R13C4)" 04: dialog = False 05: Unload UserForm1 06:End Subワークシートsheet1に戻り、適当な場所に「ボタン」を貼り付け、マクロの登録ダイアログから「データ入力」を選択し「OK」ボタンをクリックします。
基本通り「上書き保存」をしてからワークシート上のボタンをクリックして試験起動します。
いろいろ入力して間違いなく動けば完成です。
ダイアログの各コントロールの配置や大きさ、色などのデザイン修正は「お気の召すまま」のんびりとやって下さい。
図3:
![]()
![]()
![]()
© AstroHeart. All Rights Reserved.