【VBA入門】セルや範囲に値を代入する方法|.Valueプロパティの基本と使い方

Excel VBAでは、セルやセル範囲に対して直接値を入力(代入)することができます。
フォームの初期表示やデータ処理の一環として、決まったセルに値を書き込む処理は非常によく使われます。

この記事では、Range オブジェクトの .Value プロパティを用いて、単一セル・複数セルへの値の代入方法をご紹介します。


目次

単一セルに文字列を入力する

Range("B2").Value = "商品名"
  • セル B2 に文字列「商品名」を入力します。
  • .Value を省略して Range("B2") = "商品名" と書くことも可能です。

複数セルに同じ文字列を入力する

Range("B4:B6").Value = "在庫あり"
  • 複数のセル(B4, B5, B6)に同じ値「在庫あり」が一括で入力されます。
  • .Value を省略しても同様に機能します。

数値を入力する(省略記法)

Range("D2") = 150
Range("D4:D6") = 300
  • 数値の場合も .Value を省略して記述可能です。
  • 一括代入は「同じ数値」を複数セルに入力したいときに便利です。

注意点:異なる値を複数セルに設定したい場合

Range("E2:E4").Value = Array("A", "B", "C")  ' これは意図通り動作しません
  • .Value を使った一括代入は、すべてのセルに同じ値を代入する場合のみ機能します。
  • 異なる値を設定したいときは、以下のようにループや二次元配列を使います。
Dim i As Long
For i = 1 To 3
    Range("E1").Offset(i, 0).Value = "データ" & i
Next

使用シーンの例

  • フォームに初期値をセットする
  • データ出力時に、見出しや定数を入力する
  • テンプレートの自動整形処理で値を埋める

まとめ

処理内容コード例
単一セルへ入力Range("B2").Value = "商品名"
複数セルへ同一値入力Range("B4:B6") = "在庫あり"
数値の代入(省略可)Range("D2") = 150
複数異なる値For ループや配列を使用
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次