練習課題1

TMP.xlsを開いて別名で保存しておきます。(これは基本中の基本でした。)
ここでは「練習1.xls」と名前を付けました。

sheet1に右図のような帳票を作成します。

セル内の数値や算式は自動的に入力しますので不要ですが、セルの桁指定をB列は小数点2桁、C列、D列は小数点0桁にしておいて下さい。
図1:


図2:


VBEを起動しユーザーフォームにラベル2個、テキストボックス2個、ボタン2個を貼り付けます。各コントロールのプロパティを設定して下さい。

コントロールプロパティ設定値
UserForm1Caption練習1
Label1Caption数量
Label2Caption単価
TextBox1オブジェクト名txt数量
IMEMode2-fmIMEModeOff
Value0
TextBox2オブジェクト名txt単価
IMEMode2-fmIMEModeOff
Value0
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
同様に「閉じる」ボタンをダブルクリックしてコードウインドウを開き、コードを入力します。

-----リスト3
01: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.