第2講 変数の学習
第7話 データの加工
前話の
を1つの変数で実現できるかの答えはYesです。
コードは次のようになります。
Private Sub CommandButton1_Click()
Dim a As String
a = "太郎は"
a = a + "明るい"
a = a + "性格"
a = a + "です。"
Range("B4") = a
End Sub
Private Sub CommandButton2_Click()
Range("B4").Select
Selection.ClearContents
Range("A1").Select
End Sub
参考ダウンロード添付ファイル
多分、賢い方はえっおかしくない?と感じたはずです。
もちろん、小学生は誰も疑問に持ちませんが、
聡明な中学生以上の人ならおかしいと思うはずです。
なぜなら、
a = a + "明るい"
の右辺のaを左辺に移項して、
a - a = "明るい"
から
0 = "明るい"
となり矛盾するからです。
この摩訶不思議な謎の正体は・・・
慧眼な皆さんなら答えはおわかりですよね。
そうです。
プログラム言語では、
a = a + "明るい"
などは等式ではないのです。
数学の
a = 5
なら左辺のaと右辺5が等しいという等式ですが、
プログラム言語では
a = 5
はaと5が等しいという意味ではなく、
a←5
で、aという箱に5を入れるという意味であると言うことを第4話で述べました。
そして、もう一つ
「
a = 5
Range("B4") = a
は同じでaでありながら、左辺にあるときと右辺にあるときでは意味が異なります。
左辺にあるときは箱そのもの(ビールの入っているビール瓶そのもの)であるに対して、
右辺にあるときは箱の中身の5(ビール瓶の中に入っているビール)を意味します」
ということも第4話で述べています。
a = a + "明るい"
も同じです。左辺のaは箱そのものを意味しているのに対して、
右辺のaは箱の中身です。
a = "太郎は"
a = a + "明るい"
でしたから、箱の中身とは"太郎は"です。
すると、
a = a + "明るい"
は
a = "太郎は" + "明るい"
という意味になります。
図にすると、
となり、箱の中身は"太郎は明るい"となるのです。
左辺のaは箱そのものであり、右辺のaは箱の中身=箱を参照しているのです。
※ペイントとホームページビルダーの色が微妙に違うので、完全に同じ色にすることが出来ませんでしたが、
aと、aとを対応させて読んでください。参照とは箱の中身をコピーして使うことです。
変数を使う意義の最後のものは加工です。
変数の意義をまとめると、
再利用・保管(保存)・演算(足し算)・加工です。
最後の加工は、第3講で繰り返し処理をするときの主役になります。
次話では、単精度浮動小数点型変数を扱います。
第6話へ 第8話へ