VBA入門
Range以外の指定方法(Cells,Rows,Columns)

ExcelマクロVBAの基本と応用、エクセルVBAの初級・初心者向け解説
最終更新日:2021-08-14

第10回.Range以外の指定方法(Cells,Rows,Columns)


Rangeの指定で、あらゆるセルおよびセル範囲は指定できるのですが、
マクロで使う場合は、ちょっと使いづらい場合があります。


しかし、"A1"や"B5"のような文字で指定するのでは何かと不便です、
もっと、プログラムっぽい(笑)指定方法があります。

それには、
CellsRowsColumns
これらを使います。


Cells(行番号, 列番号)

1つのセル、単一セルの指定になります。

Cells(行番号, 列番号)
行番号は、縦方向の行位置で、1行目は1、10行目は10です。
列番号は、横方向の列位置で、A列は1、J列は10です。


列記号 A B C D E F G H I J
列番号 1 2 3 4 5 6 7 8 9 10



1
2
3
4
5

列番号については、"A"や"J"といった列記号での指定も可能です。

Cells(1, 1) または Cells(1, "A")
これは、A1セルになります。

Cells(5, 3) または Cells(5, "C")
これは、C5セルになります。

Range("C5")と比べると、行列の指定順序が逆になっているので、
最初は勘違いをしてしまう場合もでるかもしれませんが、ここは慣れることが必要です。
Cellsでは、行番号が先に来ます。
マクロ VBA Cells

※Cellsでは複数セル(セル範囲)は指定できません。


Rows(行番号)

行全体を指定する場合です。

Rows(行番号)
行番号は、縦方向の行位置で、1行目は1、10行目は10です。




1
2
3
4
5

Rows(5)
これで、5行目の行全体になります。
"(ダブルクォーテーション)を使わずに数値をそのまま書きます。

Rows("1:5")
このように指定すれば、1~5行の5行分全体の範囲になります。
"(ダブルクォーテーション)で囲みます。

1行だけの場合は、数値をそのまま書きます。
複数行の場合は、:(コロン)で区切り"(ダブルクォーテーション)で囲みます。


Columns(列番号)

列全体を指定する場合です。

Columns(列番号)
列番号は、横方向の列位置で、A列は1、J列は10です。
列記号 A B C D E F G H I J
列番号 1 2 3 4 5 6 7 8 9 10

Columns(3)
これで、3列目、つまりC列の全体になります。
"(ダブルクォーテーション)を使わずに数値をそのまま書きます。
数値指定の場合は複数列の指定はできません。

Cellsと同様に、
Columns("C")
このように、列記号でも指定できます。

複数列範囲の場合は、
Columns("A:C")
これで、A列~C列の3列の指定になります。

1列だけの場合は、数値をそのまま書くか、列記号を"(ダブルクォーテーション)で囲んで指定します。
複数列の場合は、:(コロン)で区切り"(ダブルクォーテーション)で囲みます。


RangeとCellsの関連記事

RangeとCellsの使い方
VBAではセルを指定する方法としてRangeとCellsがあります。RangeもCellsも、どちらもRangeオブジェクトでセルを指定するものです。✅どちらを使ったらよいのでしょうか ✅どう使い分けたらよいのでしょうか 実際のマクロVBA記述では、RangeとCellsを使い分…
RangeとCellsの深遠
RangeとCells特集にします。今さら…と、あなどるなかれ、結構奥が深いのです。すでに説明した内容もありますが、知っておいた方が良い事、知らなくても困らない事(笑) これらを、まとめてみました。まずは基本 A1セルに"エクセル"と入れる場合。
だまされるな!RangeとCellsの使い分け!
ネットを見ていると、Range("A"&i) と言う記述を良く見かけます。初心者の方が、マクロの自動記録を見て、記録されたマクロを自分で工夫して、行数を変数にしたというのなら素晴らしい事です。しかし、マクロについて、かなり手慣れた人や、時にはExcelマクロの指導的立場にいる人が、
Rangeの使い方:最終行まで選択を例に
Rangeの使い方・書き方について、データ最終行まで選択する場合を例に説明します、Rangeの書き方なので、RangeオブジェクトではなくRangeプロパティの解説という事になります。最近続けざまに、以下のようなコードを見かけました。Range("A2",Range("A2"…




同じテーマ「マクロVBA入門」の記事

第7回.マクロを実行するには(F5)
第8回.セルに文字を入れるとは(Range,Value)
第9回.Rangeでのセルの指定方法
第10回.Range以外の指定方法(Cells,Rows,Columns)
第11回.RangeとCellsの使い方
第38回.セルに計算式を設定(Formula)
第12回.変数宣言のDimとデータ型
第13回.定数宣言のConstと型宣言文字
第14回.文字の結合(&アンパサンド)と継続行(_アンダーバー)
第15回.四則演算と注釈(コメント)
第16回.繰り返し処理(For Next)


新着記事NEW ・・・新着記事一覧を見る

ピッボットテーブルって便利だよね|還暦のVBA(2021-10-18)
還暦のVBA:VBAまでたどりつけるか… (2021-09-29)
VLOOKUPを使うことを基本としてシートを設計すべきか|エクセル雑感(2021-08-17)
コンピューターはブラックボックスで良い|エクセル雑感(2021-08-14)
小文字"abc"を大文字"ABC"に変換する方法|エクセル雑感(2021-08-13)
ADOでテキストデータを集計する|VBAサンプル集(2021-08-04)
VBA学習のお勧めコース|エクセル雑感(2021-08-01)
エクセル馬名ダービー|エクセル雑感(2021-07-21)
在庫を減らせ!毎日棚卸ししろ!|エクセル雑感(2021-07-05)
日付型と通貨型のValueとValue2について|エクセル雑感(2021-06-26)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.Excelショートカットキー一覧|Excelリファレンス
3.変数宣言のDimとデータ型|VBA入門
4.RangeとCellsの使い方|VBA入門
5.繰り返し処理(For Next)|VBA入門
6.マクロって何?VBAって何?|VBA入門
7.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
8.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
9.セルに文字を入れるとは(Range,Value)|VBA入門
10.並べ替え(Sort)|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。



このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ