今回は、実際にセルに値(数字・文字列)を入れてみましょう。
とても簡単で、直観的にわかりやすいですのでサラッと解説していきますね。
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を付けなくてもセルに値が入りますので、初期のころは問題ありません(笑)
コメント
[…] 参考:Excel VBA入門 その16:セルに値(数字・文字)を入れる(Range, Value) […]
[…] 参考:Excel VBA入門 その16:セルに値(数字・文字)を入れる(Range, Value) […]
[…] 参考:Excel VBA入門 その16:セルに値(数字・文字)を入れる(Range, Value) […]
[…] 参考:Excel VBA入門 その16:セルに値(数字・文字)を入れる(Range, Value) […]
[…] 参考:Excel VBA入門 その16:セルに値(数字・文字)を入れる(Range, Value) […]