さて、前回では、セル「A1」に文字列「Hello」を書き込み(表示させ)ました。
その際に、コード(プログラム)に
Range(“A1”) = “Hello”
と記述したと思います。
今回はHelloをセル「A1」に書き込むということと、この「Range」について解説していきます。
セル「A1」に文字列「Hello」を書き込むVBAコード
まずは、習うより慣れろです。
セル「A1」に文字列「Hello」を書き込むコード を見てみましょう。
Sub A1にHelloを表示()
Range("A1") = "Hello"
End Sub
実行してみると、、、
というように、セルA1に文字列「Hello」が表示されます。
ちなみに、”Hello”の、「”」は、ダブルコーテーションです。
「Shiftキー」を押しながら「2」を押すと表示されます。
ここで直観的に、 Range(“A1”) = “Hello” は、おそらく「A1」セル(の中身)は、「Hello」ということなんだろうな。。。と考えるでしょう。
正解です!!
Range(“A1”) = “Hello” はより正しく、プログラム的に表現すると、
セル「A1」に、「Hello」をという値を入れる
ということになります。
プログラムの約束事で、
左辺に右辺の値を入れる。
要するに
左辺 ← 右辺の値
という表現になります。
つまり、
Range(“A1”) = “Hello”
は、
左辺のセル(“A1”)に、右辺の文字列「Hello」を入れる。
となります。
なんとなくわかりましたか?
Rangeとは、Rangeオブジェクトのこと
さて、ここで疑問なのは、そもそも「Range」ってなにを意味しているの?ということだと思います。
Rangeは、レンジと読みます。
そして、Rangeは、「Rangeオブジェクト」といいます。※レンジオブジェクトと読みます。
Rangeは、セルのことを指します。
オブジェクトとは、「処理の対象」のことを指します。
「処理の対象」とは、プログラムで操作したい対象の物のことを指します。
つまり、ここでいうと、プログラムで操作したい対象の物は、「セルA1」のことです。
セルA1にHelloを入力したい。
セルA1は処理の対象になります。
処理の対象とは、オブジェクトのことです。
今回の場合は、「オブジェクトは、セルA1のこと」です。
つまり、Rangeは、Rangeオブジェクトのことで、
それは日本語でいうと、
「セル(Range)において、プログラムで操作したい対象の物(セル)」
という表現になります。
Range(”A1”)=”Hello” とはつまり、、、
つまり、上のことをまとめると、
セルA1に文字列「Hello」を入れますよ。
という処理になります。
セル「B2」にも値を入れてみよう!
さて、習うより慣れろ!です。
セルB2にも値を入れてみましょう。
先ほどはセルA1に文字列「Hello」を入れました。
今度は、数字をセルB2に入れてみましょう。
先ほどのコードに3行目を追加すればOKです。
Sub A1にHelloを表示()
Range("A1") = "Hello"
Range("B2") = 3
End Sub
実行すると
セルB2に数字「3」が書き込まれます。
数字を書き込む場合は「”」で囲む必要がありません。
文字列を書き込むときは、「”Hello”」のようにダブルコーテーションで囲む必要があります。
以上のようにVBAコードを書き込んで実行してみましたが、いかがでしたか。
VBAってエクセルに結果が反映するので、直観的にわかりやすいんですよね。
次回からもどんどんコードを書いていきましょう!! 習うより慣れろ!です!
と言いつつも、次回は、コードの保存方法についてお伝えします。
コメント