第2講 変数の学習
第7話 データの加工
前話の
002
を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話で述べました。
001002
そして、もう一つ

  
a = 5
  Range("B4") =
a
は同じでaでありながら、左辺にあるときと右辺にあるときでは意味が異なります。
左辺にあるときは箱そのもの(ビールの入っているビール瓶そのもの)であるに対して、
右辺にあるときは箱002の中身の5(ビール瓶の中に入っているビール)を意味します」
ということも第4話で述べています。
  a = a + "明るい"
も同じです。左辺の
aは箱そのものを意味しているのに対して、
右辺の
aは箱の中身です

  a = "太郎は"
  a = a + "明るい"
でしたから、箱の中身とは"太郎は"です。
すると、

  a = a + "明るい"

  a = "太郎は" + "明るい"
という意味になります。
図にすると、
051
となり、箱の中身は"太郎は明るい"となるのです。
左辺のaは箱そのものであり、右辺のaは箱の中身=箱を参照しているのです。
※ペイントとホームページビルダーの色が微妙に違うので、完全に同じ色にすることが出来ませんでしたが、
  a
052a053を対応させて読んでください。参照とは箱の中身をコピーして使うことです。

変数を使う意義の最後のものは加工です。
変数の意義をまとめると、
再利用・保管(保存)・演算(足し算)・加工です。
最後の加工は、第3講で繰り返し処理をするときの主役になります。

次話では、単精度浮動小数点型変数を扱います。



第6話へ 第8話へ

トップへ