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

ミール

2010年04月14日 16:11

こんにちは。

またまた、久々の更新です。
決算時期は何かと忙しいですね。

パンを作り始めて気になる事があります。

定期健診で体重が増えている事が判明!
2ヶ月で3キロ増です。

思い当たる節はあるんです。

パン作りを初めてから
お店で売っているパンを見ると

「どんな味なんだろう」、
「柔らかいのかなぁ」
「どうやって作ってるんだろう」って

気になって、ついつい買ってしまうんです。
それを、全部1人で食べてしまうんです。

昨日も、女房と買い物した帰り
店を出ると隣にパン屋があったので
誘惑に負け3個も買って車の中で
食べてしまいました。

パン作りに活かされているのは、いいのですが、
技術的な吸収より、
栄養の吸収の方が遥かに上回っています。

この調子だと来月も、きっと主治医に怒られますね。

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

それでは本題です。

前回からの続きです。

売上入力画面から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

前回はここまで作りました。


実際に、売上入力画面に3件のデータを入れてテストしてみましょう。

売上入力画面に商品を3件入力します。



VBEの画面で、作ったプログラムを「F8」の機能を使って実行します。


エクセルの画面に戻って、「領収証」のシートを確認します。



領収証に3件、きちんと編集されました。

それでは、10件の商品を購入した場合どうなるか。
簡単ですよね。

先ほど作った、プログラムの応用で、10件分編集できるように行数を増やしていけば、
いいわけですね。

4行目目の編集

 Worksheets("印刷").Range("b13") = Worksheets("売上入力").Range("f8")
 Worksheets("印刷").Range("e13") = Worksheets("売上入力").Range("g8")
 Worksheets("印刷").Range("g13") = Worksheets("売上入力").Range("h8")
 Worksheets("印刷").Range("i13") = Worksheets("売上入力").Range("i8")
                 ・
                 ・
                 ・
10行目目の編集

 Worksheets("印刷").Range("b19") = Worksheets("売上入力").Range("f14")
 Worksheets("印刷").Range("e19") = Worksheets("売上入力").Range("g14")
 Worksheets("印刷").Range("g19") = Worksheets("売上入力").Range("h14")
 Worksheets("印刷").Range("i19") = Worksheets("売上入力").Range("i14")

とプログラムを入力しました。

でも、ここで何か気付く事はないですか。

この売上入力画面が10件と件数が少ないからいいのですが、
もしですよ、もし・・この件数が100件あったらどうします?

同じ様な命令を、100件も入力するの?面倒くさ!って・・・思うはずです。

もちろん、100件入力しても間違いではありませんが、

「もっと便利な方法」「もっと簡単な方法」がないかなぁっていう思いが
湧いてくるはずです。

そう思った貴方は、間違いなくVBAプログラミングをマスターできるはずです。

面倒な事を、もっと簡単にもっと単純にできないかなという発想
そして、それを調べる事もプログラミングの楽しみです。

100件書かなくてもいい方法を明日から勉強していきましょう。


関連記事