【Excel VBA】セルへの値設定

【Excel VBA】セルへの値設定

前回はExcel VBAでセルの値を取得するということを紹介しました。
今回はExcel VBAでセルに値を設定するということを紹介ます。
セルの値取得と同様にRangeオブジェクトとCellsオブジェクトでセルに値を設定するための方法を紹介します。

セルに値を設定する方法(Range編)

セルに値を取得する方法にRangeオブジェクトを使用する方法があります。
まずはサンプルプログラムとその結果を見てみましょう。

Sub Sample01()
    Range("B2").Value = "Sample01"
    Range("C3").Value = 10
End Sub

Sample01の実行結果

RangeはA1形式でセルを指定すると、そのセルを参照します。
今回は「B2」という文字列で指定しているので、B2セルを参照しています。
また、Rangeオブジェクトの「.Value」のプロパティに対して値を設定することで対象のセルへの値の設定を行っています。
サンプルプログラムの「Range(“C3”).Value = 10」ように文字列だけでなく、数値も設定することができます。

セルに値を設定する方法(Cells編)

セルに値を設定する方法はRangeオブジェクト以外にもCellsオブジェクトを使用する方法もあります。
これもサンプルプログラムとその実行結果を見てみましょう。

Sub Sample02()
    Cells(3, 2).Value = "Sample02"
    Cells(2, 1).Value = 15
End Sub

Sample02の実行結果

Cellsは引数に(行, 列)のようにR1C1形式でセルを指定すると、そのセルを参照します。
今回は「3, 2」という値で指定しているので、3行2列のセル、つまりB3セルを参照しています。
また、Rangeオブジェクト同様に「.Value」のプロパティに対して値を設定することで対象のセルへの値の設定を行っています。
サンプルプログラムの「Cells(2, 1).Value = 15」ように文字列だけでなく、数値も設定することができます。

まとめ

セルへの値設定はRangeオブジェクトとCellsオブジェクトのいずれかで行うことができます。
セルに値を設定するには以下の切り分けで考えるといいでしょう。

A1形式 R1C1形式
Range(A1).Value Cells(R1, C1).Value

では、Excel VBAを使用した自動化ライフを楽しみましょう♪

Excelでの自動化や省力化に関するお問い合わせはこちらからお待ちしております。
LancersMENTAでも活動していますので、そちらからお仕事を依頼して頂けます。