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列目まで全部
こんな風にも使えます。
まとめ
- Rangeは範囲
- Cellsはピンポイント
- Range(左上,右下)が基本
コメント