CoCoのYDブログ

心に思い浮かんだことを少し掘り下げ発信します

Cells関数とRange関数の違い

こんにちは

今回はCells関数とRange関数の違いについて説明していきます

 

Cells関数の特徴

Cells関数のの特徴はなんと言っても変数を使用できることです。

変数って?っと思う方もいると思うので簡単に説明を、変数とは値を変えることができるものです。今回はこのプログラムを実行します。

 

Sub test()
     Dim i
     i = 1
     Cells(i, i) = "Hello World"
End Sub
 Dim はこの名前の変数を使用しますよという意味です。Dim i となっているため、iという関数を使用しますと宣言しているわけです。変数はこのように宣言しないと使用することはできません。
 次の行ではi=1となっています。これは変数iに1を代入しなさいという命令です。i = 1が可能なら 1 = i も可能では?と思われるかもしれませんが、この式ですと1にiを代入しなさいという命令になってしまいます。1は定数ですので代入することはできないためエラーが発生してしまいます。
 このようにCells関数では変数を使用することで様々なセルを指定することができるのです。
 

Range関数の特徴

 ではRange関数の特徴を見てみましょう。

Range関数では変数を使用することはできませんが、Cells関数と組み合わせたり複数範囲を選択することができます。

Sub test()
     Range("A:A") = "Hello World"
     Range("1:1") = "Hello World"
     Range(Cells(2, 2), Cells(3, 3)) = "Hello World"
End Sub
 2行目のRange("A:A") ではA列すべてに"Hello World"を入力します。
 3行目は1行目に"Hello World"を入力します。
 4行目は少し変り種ですね。
 Range(1つめのセル~2つめのセル)の範囲を指定することができます。
 
それぞれに特徴があるため使い分けができるようにしましょう。