【文系向けVBA入門①】RangeとCellsの使い方をわかりやすく解説!

Excelを操作するうえで欠かせないセルの操作を覚えよう!

※本記事は最短でVBAを学ぶために必須の方法をまとめたものになります。

目次

Rangeとは何か?

Rangeは直訳すると範囲です。
Excel上ではセルの範囲を示します。

例えば

Sub test()
Range("A1") = 1 
End

上記コードを実行するとA1に数字の1が入ります。

Rangeを使ってA1の範囲を指定したわけです。

Rangeの基礎的な使い方

1マス指定
Range(“A1”)
範囲指定
Range(“A1:E10”)
列全体指定
Range(“A:E”)
行全体指定
Range(“1:10”)
セルに名前を定義している場合
Range(“セルの名前”)

このようにRangeは割と柔軟に範囲を指定できます。

変数との組み合わせ

最終行が不明なとき、変数で最終行を取得する場合があります。

Option Explicit

Sub test()

Dim Maxrow As Long

Maxrow = Cells(Rows.Count, 1).End(xlUp).Row

Range("A1:B" & Maxrow) = 1

End Sub

Range(“A1:B” & Maxrow) = 1

↑のように変数とつなげることができます。

ごり子

Resizeなんかを使えるようになると変数と組み合わせることは減るよ!
だけど初めのうちは便利だしありだと思う!

Cellsとは何か?

CellsはExcelの最小単位であるセルを指定することができます。

Cells(行,列)

例えば
Cells(1,1)はA1
Cells(1,2)はB1
Cells(2,2)はB2
となります。

Rangeは範囲でしたが、Cellsはピンポイントで指定します。

Rangeと組み合わせて使う

基本的にはRangeと組み合わせて使います。

Option Explicit

Sub test()

Dim Maxrow As Long

Maxrow = Cells(Rows.Count, 1).End(xlUp).Row

Range(Cells(1, 1), Cells(Maxrow, 2)) = 1

End Sub

Range(Cells(1, 1), Cells(Maxrow, 2)) = 1

Rangeの中に入れて使うことができます。
Range(左上,右下)と考えるとわかりやすいです。

RowsとColumnsを組み合わせる

Rowsは行です。
Columnsは列です。

よって

Range(Rows(1), Rows(20))→1行目から20行目まで全部
Range(Columns(1), Columns(20))→1列目から20列目まで全部

こんな風にも使えます。

まとめ

  1. Rangeは範囲
  2. Cellsはピンポイント
  3. Range(左上,右下)が基本

コメント

コメントする

目次