Excel VBA入門 その16:セルに値(数字・文字)を入れる(Range, Value)

エクセルVBA VBA



今回は、実際にセルに値(数字・文字列)を入れてみましょう。



Range(“セル番号”) . Value = 値

セルに値を入れるには、

Range(“セル番号”) . Value = 値

と記述します。

これは、

セル番号〇〇のRangeオブジェクトの値(.Value)に、左辺の値を入れる

という意味です。

その際に、数字を入れるのか、文字列を入れるのかで記述方法が少し異なります。

実際に見てましょう。

  • セルB2に数字「5」を入れる ⇒  Range(“B2”) . Value = 5
  • セルB2に文字「五」を入れる ⇒  Range(“B2”) . Value = “五”

というように、セルに文字列を入れる場合には、”文字”のように、入れたい文字列をダブルクォーテーションで囲む必要があります。

文字列はダブルクォーテーションで囲む

なぜかというと、ダブルクォーテーションで囲まないと、文字列は変数と認識されてしまうからです。

逆に言うと、ダブルクォーテーションで囲むと文字列と認識されます。

ちなみに、Range(“B2”)もダブルクォーテーションで囲まれていますね。

これも同様の理由で、B2をダブルクォーテーションで囲むことで、「B2は変数ではなく、B2というセル番号だよ」ということを認識させているのです。

逆に言えば、B2をダブルクォーテーションで囲まないと、「セル番号のB2」ということが認識されません。

・・・とはいえ、今は深く考えず、文字列の場合にはダブルクォーテーションを使うというように覚えてくださいね。

【応用】 「. Value」を付けなくても問題ない

少し応用になりますが、先ほどの書き方では

Range(“セル番号”) . Value = 値

のように、「.Value」を付けました。

ですが、実は「.Value」を付けなくても、値はセルに入ります。

つまり、

Range(“セル番号”) = 値

Range(“B2”) = 5

のように「.Value」を付けなくても、付けた場合と同様に、値はセルに入ります。

つまり「.Value」を付けたときと付けないときとで、同じ動作をします。

これは、「.Value」については省略できる決まりになっているためです。

それなら「.Value」は不要なのではないか??と思いますよね。

そのとおりです。

じつは不要です。が、高度なVBAプログラムを作成する際には、必要になる場合があります。

それは、.Valueを記述することによって、単に「セルB2」だけではなく「セルB2の値」ということを明確に指定することができるからです。

つまりまとめると、.Valueを付けなくてもセルに値が入りますので、初期のころは問題ありません(笑)

コメント

  1. […] 参考:Excel VBA入門 その16:セルに値(数字・文字)を入れる(Range, Value) […]

  2. […] 参考:Excel VBA入門 その16:セルに値(数字・文字)を入れる(Range, Value) […]

  3. […] 参考:Excel VBA入門 その16:セルに値(数字・文字)を入れる(Range, Value) […]

  4. […] 参考:Excel VBA入門 その16:セルに値(数字・文字)を入れる(Range, Value) […]

  5. […] 参考:Excel VBA入門 その16:セルに値(数字・文字)を入れる(Range, Value) […]

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