VBA|セルにHelloを表示させる、Rangeの解説。

エクセルVBA VBAの基礎・入門



さて、前回では、セル「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ってエクセルに結果が反映するので、直観的にわかりやすいんですよね。

次回からもどんどんコードを書いていきましょう!! 習うより慣れろ!です!

と言いつつも、次回は、コードの保存方法についてお伝えします。




VBAの基礎・入門
ブイサバ【Excel VBAサバイバル】~とりあえずここに来れば解決できる~

コメント

タイトルとURLをコピーしました