今回は、VBAのRangeの使い方について紹介していきます。

Rangeとは、1セルに対して値を設定するのではなく、セルの範囲に対して設定を行いたいときなどに利用します。

複数のセルを一度に設定したいときとても便利です。特に、Cellsを利用したRangeの使い方を押さえておきましょう。

Rangeを利用したセルの値設定

基本的な、Rangeの使い方を見てみましょう。

Range("開始セル", "終了セル").Value = 設定したい値

このように、「開始セル」と「終了セル」を指定することで、Rangeを使うことができます。

 

例を見てみましょう。

「A1」から「B3」のセルの範囲に、「1」を設定してみましょう。

Range("A1", "B3").Value = "1"

「開始セル」 = 「A1」
「終了セル」 = 「B3」

結果

指定した範囲に「1」が入力されていることが確認できました。

 

あまり使用しませんが、少し違う書き方も紹介しておきます。

Range("A1:B3").Value = "1"

こちらも同じ結果になります。

 

Range Cellsを利用する

先ほどは「開始セル」と「終了セル」の指定を「A1」、「B3」と指定しましたが、次はCellsを利用することもできます。

Cellsの使用方法は、こちらを参考にしてみてください。

それではさっそく例を見てみましょう。

Range(Cells(1, 3), Cells(3, 5)).Value = "ABC"

「開始セル」=「C1」もしくは「Cells(1,3)」

「終了セル」=「E3」もしくは「Cells(3,5)」

結果

このように、Cellsを利用してRangeの範囲設定を使用することができます。

このやり方を一番よく使用するので、必ず押さえておきましょう!

なぜなら、Cellsを利用することで「行」と「列」の値を変数にして使用することができるからです。

Dim row1 As Integer
Dim col1 As Integer
Dim row2 As Integer
Dim col2 As Integer

row1 = 1
col1 = 3
row2 = 3
col2 = 5

Range(Cells(row1, col1), Cells(row2, col2)).Value = "ABC"

結果

先ほどと同じ結果になっています。

このように、変数を利用することで「for文(繰り返し)」「if文(条件分岐)」を使用することができるので、

汎用性が格段に上がりますので、Rangeを使用するときはこのやり方で基本的には記載しましょう。

 

まとめ

Rangeは、指定したセルの範囲に値を一括で設定することができます。

基本的には、汎用性の高い、Cellsを利用した方法で記載するのがおすすめです。

 

EXCEL VBAの記事一覧

おすすめの記事