VBAでセルに値を設定する最も基本的な操作は、「セルを指定して、その .Value
プロパティに値を代入する」ことです。これは、VBAの中でも特に頻繁に使う基本中の基本です。
このページでは、セルに直接値を代入する基本構文について、分かりやすく解説します。
目次
1. 基本構文(最もシンプルな書き方)
Range("A1").Value = "こんにちは"
Range("A1")
:セルA1を指定.Value
:そのセルの値プロパティ= "こんにちは"
:文字列「こんにちは」を代入
このコードを実行すると、アクティブなシートのA1セルに「こんにちは」と表示されます。
2. 数値を代入する場合
Range("B2").Value = 123
- セルB2に数値
123
を設定します。 - 文字列と同様に、
.Value
に直接数値を代入すればOKです。
3. 日付を代入する場合
Range("C3").Value = #2025/6/13#
#
で囲むことで、日付型として正しく代入できます。- Excel上では「2025/6/13」と表示されます(セルの表示形式によっては違う見え方になる場合もあります)。
4. Cells を使って値を代入する
Cells(1, 1).Value = "左上"
Cells(行番号, 列番号)
の形式で指定できます。- 上の例では
Cells(1, 1)
はRange("A1")
と同じ意味になります。
5. ワークシートを明示する場合
Worksheets("Sheet1").Range("A1").Value = "明示的に指定"
- ワークシート名を明示することで、対象のシートを間違えることがなくなります。
- 安全で信頼性の高い書き方です。
6. 値を代入せずに取得することもできる
補足として、.Value
は値の設定だけでなく、取得にも使えます。
Dim msg As String
msg = Range("A1").Value
MsgBox msg
Range("A1").Value
でセルの値を読み取り、それをメッセージボックスで表示します。
7. まとめ
操作 | 構文例 |
---|---|
文字列 | Range("A1").Value = "文字" |
数値 | Range("A1").Value = 100 |
日付 | Range("A1").Value = #2025/6/13# |
Cells指定 | Cells(2, 3).Value = "C2" |
ワークシート明示 | Worksheets("Sheet1").Range("A1").Value = "OK" |
VBAを始めるうえで、この「セルに値を直接代入する構文」は非常に重要です。まずはこの書き方をしっかりマスターすることが、マクロ作成の第一歩となります。
コメント