ExcelマクロVBA入門 | 第11回.RangeとCellsの使い方 | Excelマクロの基礎と応用、エクセルVBAの入門・初級・初心者向け解説



最終更新日:2016-03-22

第11回.RangeとCellsの使い方


セルを指定する方法がいろいろある事を、前回までに説明しましたが、


では、実務でのマクロVBAでは、どう使い分けていくかが問題です。


実践では、基本的には、Cellsを使います。


Rangeを使うのは、


・固定位置のセルの場合

・セル範囲(複数セル)の場合

このどちらかになります。


時々、こんな指定を見かけます、


Range("A" & i)


iは変数で、数値が入っている訳ですが、

(変数については、次回に説明します。)

こんな使い方はしないで下さい。


はっきり言って、見苦しいです。

見苦しいというのはともかくとして、実行速度も遅くなりますし、

Cellsがあるのですから、これを使うようにしましょう。


まずは、1つのセルを指定する場合は、


Cells(行, 列)


のように書いて下さい。

列は、数字だけでなく、列記号も使えます。

Cells(5, 3)
Cells(5, "C")

どちらで書いても同じC5セルになります。


そして、セル範囲の場合は、


Range(始点セル, 終点セル)


の、始点セルと終点セルに、Cellsを指定して、


Range(Cells(行, 列), Cells(行, 列))


として下さい。


例えば、A1セルから、C5セルなら


Range(Cells(1, 1), Cells(5, 3))


となります。

また、


複数行の場合、1行から5行なら、


Range(Rows(1), Rows(5))


複数列の場合、1列(A列)から3列(C列)なら、


Range(Columns(1), Columns(3))


のように指定します。


上記では、固定数値で書いていますが、マクロでは、この数値部分が変数になる訳です。


最初に書いたように、固定位置で、条件によって変化する事が無い場合は、


Range("A1:C5")

Range("1:5")

Range("A:C")


で良いでしょう。



単純に言えば、変数を使う時は、Cells、Rows、Columnsを使用すると言う事です。





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

第12回.変数とデータ型(Dim)
第13回.定数と型宣言文字(Const)
第14回.文字の結合と継続行(&アンパサンド)
第14回.四則演算と注釈
第16回.繰り返し処理(For Next)
第17回.繰り返し処理(Do Loop)
第18回.最終行の取得(End,Rows.Count)

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

他のスプレッドシートからQUERYで取得|Googleスプレッドシート(9月25日)
QUERY関数を使って条件付き集計|Googleスプレッドシート(9月25日)
他のスプレッドシートからVLOOKUPで取得|Googleスプレッドシート(9月25日)
他のスプレッドシートからインポート(IMPORTRANGE)|Googleスプレッドシート(9月25日)
シートをコピー|Googleスプレッドシート(9月24日)
シートを保護|Googleスプレッドシート(9月24日)
入力規則|Googleスプレッドシート(9月24日)
条件付き書式|Googleスプレッドシート(9月24日)
関数一覧(Excelとの差異)|Googleスプレッドシート(9月24日)
関数を使う(IF,IFERROR)|Googleスプレッドシート(9月23日)

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

1.最終行の取得(End,Rows.Count)|ExcelマクロVBA入門
2.RangeとCellsの使い方|ExcelマクロVBA入門
3.Range以外の指定方法(Cells,Rows,Columns)|ExcelマクロVBA入門
4.徹底解説(VLOOKUP,MATCH,INDEX,OFFSET)|エクセル関数超技
5.CSVの読み込み方法|ExcelマクロVBAサンプル集
6.セル・行・列の削除・挿入(Delete,Insert)|ExcelマクロVBA入門
7.セルのコピー&値の貼り付け(PasteSpecial)|ExcelマクロVBA入門
8.セルの参照範囲を可変にする(OFFSET,COUNTA,MATCH)|エクセル関数超技
9.VBAのFindメソッドの使い方には注意が必要です|ExcelマクロVBA技術解説
10.変数とデータ型(Dim)|ExcelマクロVBA入門



  • >
  • >
  • >
  • RangeとCellsの使い方

  • このサイトがお役に立ちましたら「いいね」「Bookmark」をお願いいたします。
    記述には細心の注意をしたつもりですが、
    間違いやご指摘がありましたら、こちらからお知らせいただけると幸いです。
    なお、掲載のVBAコードは自己責任で使ってください。万一データ破損等の損害が発生しても責任は負いません。

    ↑ PAGE TOP