はじめに
Excelで作業をしていると、
「このセルに値を入れておきたい」
「処理の途中でセルに結果を書き込みたい」
そんな場面がよくあります。
VBAでは、セルに値を代入する方法がいくつかあり、
目的に合わせて使い分けることで、コードがより読みやすく、扱いやすくなります。
ここでは、セルに値を代入する基本のコードと、そのしくみを解説します。
まずはコードを確認
Range("A1").Value = "こんにちは"
もっともシンプルな書き方です。
A1セルに「こんにちは」という文字列を代入しています。
コードのしくみを解説
Range(“A1”).Value に値を代入する
Range(“A1”).Value = ○○ は、セルに値を入れる基本形です。
- 文字列
- 数値
- 日付
- 数式
どんな値でも代入できます。
Cells(row, column) を使う方法
Cells(1, 1).Value = 100 'A1に100を代入
- 行番号と列番号で指定する方法
- ループ処理と相性が良い
- 列番号は 1=A, 2=B, 3=C…
シートを指定して代入する
Worksheets("データ").Range("B2").Value = "完了"
複数シートを扱う場合は、シート名を明示すると安全です。
あわせて知っておきたいポイント
数式を代入したい場合
Range("A1").Formula = "=SUM(B1:B10)"
Formula を使うと、セルに数式を入れることができます。
数値として代入したい場合
Range("A1").Value = 123
文字列ではなく数値として扱われます。
日付を代入したい場合
Range("A1").Value = Date
今日の日付が入ります。
複数セルにまとめて代入する
Range("A1:A5").Value = 0
A1〜A5 に一括で 0 を代入できます。
使うときに気をつけたいこと
- 文字列を代入するときはダブルクォーテーションが必要
→ “文字列” の形で書きます。
- 数式を代入するときは = を忘れないように
→ Formula = “=SUM(…)”
- シート名の指定漏れに注意
→ アクティブシートが変わると意図しないセルに書き込まれることがあります。
- 結合セルは代入先として不安定なことがあります
→ 可能なら避けるのが安全です。
まとめ
- Range(“A1”).Value = ○○ でセルに値を代入できる
- Cells(row, column) はループ処理と相性が良い
- 数式・日付・複数セルなど、目的に応じて使い分けが可能
- シート名を明示すると、実務でのトラブルを防げる
セルに値を代入できると、VBAの自動化がぐっと扱いやすくなります。

decopon
セルに値を代入する処理は、VBAの中でも特に基本となる部分です。
小さな一歩ですが、ここを押さえておくと、後の自動化がとてもスムーズになります。

moco
セルにそっと値を入れるのは、VBAのやさしいお仕事。
人は、次の作業に集中できるね。

コメント