VBAプログラミング楽ちん講座:初級編パート2(6日目)

ミール

2010年04月02日 12:16

贅沢な朝食。
焼きたてパンはうまい。


この2、3日、興南高校の応援で仕事もブログの更新も
手につきません。

今日はどうなるのでしょう。

頑張れ!興南!

*---------------------*

それでは、本題です。

前回の続きで
VBEで実際に命令を記述して動かしてみます。

「Sub 印刷」と入力しエンターを押してみて下さい。
すると自動的に



Sub 印刷()

End Sub

という形ができます。


この
Sub 印刷()

End Sub
の間に、命令を入力していきます。

それでは、前回説明した

Worksheets("領収証“).Range("B10") = Worksheets("売上入力").Range("F5")
Worksheets("領収証“).Range("E10") = Worksheets("売上入力").Range("G5")
Worksheets("領収証“).Range("G10") = Worksheets("売上入力").Range("H5")
Worksheets("領収証“).Range("I10") = Worksheets("売上入力").Range("I5")

という命令を入力してみましょう。



早速、思い通りに動くかテストしてみましょう。

そのままの画面で、

SUB 印刷とEnd Subの間にカーソルを持ってきて
「F8」のキーを押します。

「F8」キーは、命令を一つずつ実行させていく機能です。




実行される命令が黄色に反転します。
もう一度「F8」のキーを押します。




Worksheets("領収証").Range("b10") = Worksheets("売上入力").Range("f5") 
命令が実行されます。

もう一度「F8」のキーを押します。



下の命令が実行されます。

もう一度「F8」のキーを押します。

Worksheets("領収証“).Range("G10") = Worksheets("売上入力").Range("H5")
Worksheets("領収証“).Range("I10") = Worksheets("売上入力").Range("I5")

が黄色の反転になり実行されていきます。

END SUB迄実行すると、黄色の反転がなくなります。




これで、このプログラムの処理は終わりです。

それでは、実行結果をみてみましょう。

実行結果をエクセルに戻り、「領収証」のシートを見てみましょう。



商品名に「A4コピー用紙」
個数に「50」
単価に「500」
金額に「25000」と、きちんと編集されました。

だいたい、雰囲気はつかめたでしょうか。

今の応用で、商品を3品迄編集できるように作ってみましょう。

参照する行を一つずつ下げていけばいいわけです。
行を下げるという事は、行番号を増やすという事ですね。

Sub 印刷()

1行目の編集
 Worksheets("領収証").Range("b10") = Worksheets("売上入力").Range("f5")
Worksheets("領収証").Range("e10") = Worksheets("売上入力").Range("g5")
Worksheets("領収証").Range("g10") = Worksheets("売上入力").Range("h5")
Worksheets("領収証").Range("i10") = Worksheets("売上入力").Range("i5")

2行目目の編集
Worksheets("領収証").Range("b11") = Worksheets("売上入力").Range("f6")
Worksheets("領収証").Range("e11") = Worksheets("売上入力").Range("g6")
Worksheets("領収証").Range("g11") = Worksheets("売上入力").Range("h6")
Worksheets("領収証").Range("i11") = Worksheets("売上入力").Range("i6")

3行目目の編集

 Worksheets("印刷").Range("b12") = Worksheets("売上入力").Range("f7")
 Worksheets("印刷").Range("e12") = Worksheets("売上入力").Range("g7")
 Worksheets("印刷").Range("g12") = Worksheets("売上入力").Range("h7")
 Worksheets("印刷").Range("i12") = Worksheets("売上入力").Range("i7")
 
End Sub

これを、実行してみましょう。
続きは明日ですね。



関連記事