変数について
いきなりですが、今回は変数についてご紹介します。
変数は「数値」や「文字列」などを入れておける《箱》によく例えられます。
例えば a という変数があったとして、マクロの中で
a = 3
と書けば、一旦 a の中に 3 を入れておくことができます。
同様に
a = "あんぱん"
と書けば、a の中には「あんぱん」という文字列が入ります。
実際にやってみましょう。
開発→Visual Basicから
挿入→標準モジュールを押し、
sub hensu_renshu
というプロシージャを作ります。
a = 3
としましょう。
これだけだと、何も変化はありませんので、この変数aに入った値「3」をA2に入れてみます。
A2はCells(2, 1)ですので、
Cells(2, 1) = a
としましょう。
これを実行すると
A2には3が入りました。
変数 a そのものが入るのではなくて、a の中身が入るということですね。
試しに、
a = 3 + 7
に変更してみましょう。
これを実行すると、
そうですね。
きっとお分かり頂けたと思いますが、3 + 7 の計算結果である 10 が入ります。
ここからがちょっとややこしいのです。
a = 10
a = a + 5
Cells(2, 1) = a
こうすると、どうなるでしょう?
とりあえず実行すると
答えは15でした。
これは、どういうことかというと、
赤線で示した a には、右辺の数値 10 が入ります。
その下の行で、10 + 5 をした結果 15 が青線で示した a に入る。言い換えると青線で書いてある a の中身は 15 という数値で上書きされるということです。
だから、最終的にCells(2, 1)には、15が入力された、というわけなのです。
a = a + 5
これ、僕も最初に出てきたときに「???」となりましたが、この行の意味は、
右辺の計算結果を、左辺の変数に入れる
ということなのです。よくある等式ではないのです。
中学校で習った数学で考えるとありえないヘンテコな式なわけですが、プログラミング分野では平気で登場するので飲み込んで、慣れてください。
次回ももう少し変数に慣れましょう。
今回の最終的なコード
Sub hensu_renshu()
a = 10
a = a + 5
Cells(2, 1) = a
End Sub
宿題-11
変数 b に、文字列「プロセニアム」を入れて、
変数 c には、文字列「アーチ」を入れます。
変数 b と 変数 c を結合してD5のセルに「プロセニアムアーチ」を表示してください。
解説
変数bと変数cにそれぞれ文字列を代入しましょう。
b = "プロセニアム"
c = "アーチ"
D5はCells(5, 4)なので、
Cells(5, 4) = b + c
とすれば完成です。
最終的なコードはこちらです。
Sub hw11_hensu()
b = "プロセニアム"
c = "アーチ"
Cells(5, 4) = b + c
End Sub
エクセルマクロ(EXCEL VBA) その12 九九の表を作る
(文:森脇孝/エントレ)