2008-12-11

ExcelのVisual Basic

先週は
Sub 練習()
cells(1,1)=1
End Sub
というプログラムを作りました。
豆知識:Excel VBAの専門用語は自動的に最初が大文字に変換されます。大文字に変わらなかったらそれはVBAの用語ではないということです。VBAの用語を入力したつもりなのに変わらなかったら、綴りを間違えた可能性があります。

先週の復習です。先週作ったプログラムのCells(1,1)=1とEnd Subの間に

cells(2,1)=2
cells(3,1)=3

と書き込んで実行してみてください。
あるいは
cells(1,2)=-2
cells(1,3)=-3
と書いて、cellsの二つの添え字がExcelのどのセルに対応しているか確認しましょう。

次に10個続けて書いてみたいと思います。
cells(1,1)=1
cells(2,1)=2
cells(3,1)=3
cells(4,1)=4
cells(5,1)=5
cells(6,1)=6
cells(7,1)=7
cells(8,1)=8
cells(9,1)=9
cells(10,1)=10

と書くのは大変です。何か別の方法は無いでしょうか?このためにFor文というものがあります。

for i=1 to 10
 cells(i,1)=i
next i

と書くとiの値が1から10まで変化しながらcells(i,1)=iの部分が繰り返し実行されますので、10行書いたのと同じプログラムになります。

九九の表

今度はVisual Basicを使って九九の表を作りましょう。
For文を使うと
1
2
3
4
5
6
7
8
9
という表は作れると思います。同じような文をもう一度書くと
12
24
36
48
510
612
714
816
918
という表を作ることも出来るので、同じような文を9回書けば九九の表は出来るはずですが、それはあまりにも大変ですので、For文を上手に使って同じような文を9回も書かずに九九の表を作ってください。

足し算

別のプログラムを書くには、先ほどのプログラムのEnd Subの下の行に
Sub 別のプログラムの名前
と書いてEnterを押すと、区切りの線が自動的に引かれます。

今度は1から100までの数を足してみましょう。
1+2+3+…+99+100と入力していては大変ですので、For文を使った繰り返しで計算しましょう。まず
 wa=0
としておいて
 wa=wa+1 (この時点でwaは1)
 wa=wa+2 (この時点でwaは1+2)
 wa=wa+3 (この時点でwaは1+2+3)
 wa=wa+4
 wa=wa+5

 wa=wa+98
 wa=wa+99
 wa=wa+100
とするとwa=1+2+3+…+99+100になりますので、最後に
 Cells(1,1) = wa
と書いて計算結果を表示しましょう。

データの読み込み

まずExcelのA1からA3セルに適当に数字を入力してください。そしてこれらの数字を足し算するプログラムを書きましょう。
 x1=cells(1,1)
 x2=cells(2,1)
 x3=cells(3,1)
 wa=x1+x2+x3
 cells(4,1)="合計"
 cells(4,2)=wa
と書くと、3つの数字を足すことが出来ます。では10個とか100個のデータを足すにはどうすればよいでしょうか。

0 件のコメント: