値を直接代入する基本構文

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を始めるうえで、この「セルに値を直接代入する構文」は非常に重要です。まずはこの書き方をしっかりマスターすることが、マクロ作成の第一歩となります。

コメント

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