Home » ExcelVBA Rangeオブジェクト » Cellsプロパティ » Cellsで範囲指定を行うには

対象:Excel2007, Excel2010, Excel2013

「excel vba cells 範囲」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがあることに気づきました。

Cellsプロパティを使って、セル範囲指定を行うExcel VBA(Visual Basic for Applications)のコードを探している方による検索でしょうか。

[スポンサードリンク]

Cellsプロパティで取得できるのは1個か全部

まず、Cellsプロパティで取得できるRangeオブジェクトは、1個か全部ということを理解しましょう。

以下のサンプルマクロを実行してみてください。


Sub Sample_1()

 Cells.Select
 Stop

 Cells(1, 2).Select
 Stop

End Sub

途中に出てくるStopステートメントは、ブレークポイントと同じ動きをするコードで、マクロを一時停止させます。
一時停止したときにワークシートでどこが選択されているかを確認したら、VBEで[F5]キーを押して再度実行してください。

はじめに登場する
 Cells.Select
が全部を取得する例です。

Cellsプロパティに引数を指定しないと、アクティブシートの全Rangeオブジェクトを取得できます。

次に登場する
 Cells(1, 2).Select
が一般的によく見かけるCellsプロパティに引数を2つ指定する例です。

第1引数に行番号、第2引数に列番号を指定することで1個のセルを表すRangeオブジェクトを取得できます。

範囲指定を行うにはRangeプロパティを組み合わせる

範囲指定を行うには、Cellsプロパティだけではダメで、Rangeプロパティを組み合わせる必要があります。


Sub Sample_2()

 Range("A1", "G8").Select
 Stop

 Range(Cells(2, 1), Cells(8, 7)).Select
 Stop

 Range("A3", Cells(8, 7)).Select
 Stop

End Sub

まず、Rangeプロパティに引数を2つ指定できることをご存じなかった方は、はじめの
 Range("A1", "G8").Select
を、よくご確認ください。

Rangeプロパティで引数を2つ指定した場合、その2つで指定されたセル範囲全体を表すRangeオブジェクトが取得できます。
「Range("A1", "G8")」というオブジェクト式で、A1:G8セルを表すRangeオブジェクトが取得でき、それをSelectしています。

このRangeオブジェクトの引数に、先のCellsプロパティを指定できます。それが、
 Range(Cells(2, 1), Cells(8, 7)).Select
です。

Rangeプロパティの、第1引数にA2セルを表す「Cells(2, 1)」、第2引数にG8セルを表す「Cells(8, 7)」がそれぞれ指定されていて、
 Range(Cells(2, 1), Cells(8, 7)).Select
というコードで、A2:G8というセル範囲が選択できます。

またRangeプロパティには、文字列とCellsプロパティを組み合わせて指定することもできます。その例が、
 Range("A3", Cells(8, 7)).Select
です。

[スポンサードリンク]

Home » ExcelVBA Rangeオブジェクト » Cellsプロパティ » Cellsで範囲指定を行うには

TrackBack:10

TrackBack URL
セルの結合を行うVBAのコード from インストラクターのネタ帳
セルの結合を行うExcel(エクセル)マクロを複数ご紹介しています。
VBAで空白セルまでを選択する from インストラクターのネタ帳
対象:Excel2007, Excel2010, Excel2013, Win...
VBAで横方向にオートフィルする from インストラクターのネタ帳
横方向にオートフィルを行うExcel(エクセル)マクロをご紹介しています。
Shapeの存在するセル範囲を取得してオブジェクト変数に from インストラクターのネタ帳
対象:Excel2007, Excel2010, Excel2013, Win...
WorksheetFunction.Sumでセル範囲を指定する from インストラクターのネタ帳
Excel VBAのWorksheetFunction.Sumで、セル範囲を指定する書き方をご紹介しています。
Excel VBAで最大値・最小値を求める from インストラクターのネタ帳
Excel VBAでは、WorksheetFunction.Maxで最大値、Worksheet Function .Minで最小値を取得することができます。
VBAからIFERROR関数を入力する from インストラクターのネタ帳
IFERROR関数を使った数式を、セルに入力するExcel(エクセル)マクロをご紹介しています。
AutoFillの引数にCellsを利用する from インストラクターのネタ帳
Range.AutoFillメソッドの引数・Destinationに、Cellsプロパティを組み合わせたExcelマクロをご紹介しています。
VBAからCOUNTA関数を使う from インストラクターのネタ帳
Excel VBAからワークシート関数の一つ、データの入力されているセルをカウントするCOUNTA関数を使うサンプルをご紹介しています。
アクティブセルから下の行を非表示にするExcelマクロ from インストラクターのネタ帳
アクティブセルから下の行を非表示にするExcelマクロをご紹介しています。

Home » ExcelVBA Rangeオブジェクト » Cellsプロパティ » Cellsで範囲指定を行うには

「Cellsプロパティ」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.