第2講 変数の学習
第5話 文字型変数
第3話では整数型変数=Integer型を扱いましたので、
第5話では文字型変数を扱います。
第3話で作ったファイルのコードを次のように変更しましょう。
(もし、保存せずに閉じてしまった場合には、参考ダウンロード添付ファイル
添付ファイルを開いてから変更してください。)
Private Sub CommandButton1_Click()
Dim a As String
a = "プログラミング入門"
Range("B4") = a
End Sub
Private Sub CommandButton2_Click()
Range("B4").Select
Selection.ClearContents
Range("A1").Select
End Sub
参考ダウンロード添付ファイル
そして、実行ボタンを押すと、
となります。
消去ボタンを押せば元の白紙に戻ります。
今回用意した
Dim a As String
変数が、文字型変数です。
文字を入れるときには""で囲む必要があります。
さらに、コードを次のように変更するとどうなるでしょうか。
Private Sub CommandButton1_Click()
Dim a As String
a = "プログラミング入門"
Range("B4") = a
a = "VBAは楽しい"
Range("B5") = a
End Sub
Private Sub CommandButton2_Click()
Range("B4:B5").Select
Selection.ClearContents
Range("A1").Select
End Sub
変数とは、数値や文字を入れる箱でした。
すでに箱にはプログラミング入門が入っています。
a = "VBAは楽しい"
によって、
となってしまうのでしょうか。
そうすると、
Range("B5") = a
によって、B5のセルの内容は、
VBAは楽しいプログラミング入門
または
プログラミング入門VBAは楽しい
となってしまうのでしょうか。
ところが実行ボタンを押すと、
です。
これはどういうことでしょうか。
実は、変数はデータ(数値または文字)を入れる箱ですが、
常に1つのデータしか入れられないのです。
ですから、新しいデータを入れると、
箱からはじき飛ばされてしまい、
消滅の運命を辿ります。
なぜなら、データ(数値や文字)は箱の中でしか生きられないからです。
箱=変数の中にはデータは1個しか入らないということは、
すべての変数型で共通です。
ですから、
コードを次のように変更して、
Private Sub CommandButton1_Click()
Dim a As Integer
a = 1
Range("B4") = a
a = 2
Range("B5") = a
End Sub
Private Sub CommandButton2_Click()
Range("B4:B5").Select
Selection.ClearContents
Range("A1").Select
End Sub
実行ボタンを押すと、
となるのです。
尚、
Range("B4:B5").Select
について説明しませんでした、
これはB4からB5までを選択することを示します。
複数のセルを選択する方法については、
第2講第10話でまとめます。
ところで、今回のプログラムなら、
Private Sub CommandButton1_Click()
Range("B4") = "プログラミング入門"
Range("B5") = "VBAは楽しい"
End Sub
Private Sub CommandButton2_Click()
Range("B4:B5").Select
Selection.ClearContents
Range("A1").Select
End Sub
でも同じ結果を導くことが出来ますし、
コードの行数も少なくなるのに、
なぜわざわざ変数を使ったのでしょうか。
次話では変数を使う意義を考えましょう。
第4話へ 第6話へ