Top

hiroyuki.tank.support.site

簡単!マクロ講座

第18回〜変数とは?〜

 今回は前回までの穴埋問題で何度か出てきた変数についてわかりやすく説明します。
 わかりやすくといっても普段なじみのない考え方が出てきますので,「まあそんなもんか」くらいにみておいてください。

 変数とは,情報を記憶する入れ物のことです。
 考え方を変えたら,覚えておけないので紙にメモしておくといった感じでしょうか。そうすると,変数とはメモ紙と思っても間違いではないかもしれませんね。
 英語では「variables(バリアブルス)」といい,変化するものとか,変わりやすいものという意味からきています。
 変数はアルファベットでも日本語でもOKです。ただ,VBA上で使ってはいけない単語もありますが,そう気にすることもないようです。自分や人が見てわかりやすい単語を命名したらいいと思います。

 第15回の【穴埋3】で次のように使っています。
************************
i = 3
If Cells(i, 1) = "〃" Then
Cells(i, 1) = "東京"
Else
MsgBox "同じじゃないよ"
End If
########################

 「i = 3 」で,「i」という変数(入れ物)に「3」を入れるということです。
 iに3がはいっていますから,Cells(i, 1)は1列目の3行目となりセルA3のこととなります。

 ここで変数を使った計算をやってみましょう。
i=1
i=i+1
 さて,この2行を計算した答え「i」はなんでしょうか?
 答えは「2」です。
 まずiに1を入れ,次にiはiたす1ですから「2」になります。
 普通の算数や数学では「i=i+1」なんていうことはありません。しかし,プログラムではこういった式をよく使います。
 「=」はイコールではなく,「入れる」と考えたらいいと思います。
 この理由は,ただの算数ではないからです。
 算数なら数字を計算するだけですが,変数はメモ紙みたいなものですから数字だけではなく文字も書くことができるのです。
 次のコードをVBAで書いて実行してみてください。

************************
Sub a()
数 = 1
数 = 数 + 1
MsgBox 数
End Sub
Sub b()
字 = "マクロ"
字 = 字 + "講座"
MsgBox 字
End Sub
########################

 「数」と「字」は変数です。
 aを実行するとメッセージボックスには「2」と表示され,bを実行するとメッセージボックスには「マクロ講座」と表示されます。
 このように,コードを上から見ていって素直に考えるとそのまま答えが出るわけです。
 「こんなの必要なの?」と思われるかもしれませんが,変数無くしてプログラムはできないくらいです。ワンランクアップのためには必須です。もちろん,「プログラムなんて書けなくてもいい」という方も,この考え方を知っていて損はありません。

| hiroyuki.tank.support.site.Top | このページのTop | マクロ講座目次 | 前回 | 次回 |