VBAのRangeプロパティ

こちらでは、エクセルVBAのRangeプロパティの解説になります。

プロパティとはオブジェクトの属性を指します。属性とは、そのオブジェクトの情報そのものです。プロパティはその値を取得したり、設定することもできます。プロパティを利用するにはオブジェクト名とプロパティ名の間に「.(ピリオド)」で結んで記述します。

オブジェクト名.プロパティ名

また、プロパティを設定する場合は以下のように「=(イコール)」を記述し設定値を代入します。

オブジェクト名.プロパティ名 = 設定値

目次

AllowEditRange オブジェクトのRangeプロパティ

AllowEditRange オブジェクトのRangeプロパティは、保護されたワークシートで編集可能な範囲のサブセットを表す Range オブジェクトを返します。

構文expression.Range
キーワード省略説明
expression×こちらは、必ず指定します。対象となる AllowEditRange オブジェクトを返すオブジェクト式を指定します。

Application、Range、および Worksheet オブジェクトのRangeプロパティ

Application、Range、および Worksheet オブジェクトのRangeプロパティは、セルまたはセル範囲を表す Range オブジェクトを返します。

構文Range(Cell1, Cell2)
キーワード省略説明
expression×こちらは、必ず指定します。対象となるオブジェクトへの参照を返すオブジェクト式を指定します。
Cell1×こちらは、必ず指定します。バリアント型 (Variant) の値を範囲の名前を指定します。これは、マクロの言語の A1 形式での範囲である必要があります。範囲名には、範囲を表す演算子 (:)、共通部分を表す演算子 (スペース) または複数の範囲を表す演算子 (,) を含めることができます。また、ドル記号 ($) は含めることはできますが、無視されます。範囲の一部にローカルに定義した名前を使用できます。名前を使用する場合、その名前はマクロの言語と見なされます。
Cell2×こちらは、必ず指定します。バリアント型 (Variant) の値を使用します。セル範囲の左上隅と右下隅のセルを指定します。各引数には、単一のセルを含む列全体あるいは行全体を表す Range オブジェクト、またはマクロの言語で単一のセルに名前を付ける文字列を指定できます。

オブジェクト修飾子を指定せずにこのプロパティを使用すると、ActiveSheet.Range のショートカットとなります。つまり、アクティブ シートから範囲を取得します。アクティブ シートがワークシートでない場合、このプロパティは失敗します。

Range オブジェクトに対して使用すると、このプロパティは Range オブジェクトに関連付けられます。たとえば、セル C3 を選択すると、Selection.Range("B1") は、Selection プロパティで取得される Range オブジェクトに関連付けられるため、セル D3 を取得します。一方、コード ActiveSheet.Range("B1") は必ずセル B1 を取得します。

Range プロパティを ListColumn オブジェクト、ListObject オブジェクト、ListRow オブジェクト、HeaderRowRange オブジェクト、InsertRowRange オブジェクト、TotalsRowRange オブジェクトのRangeプロパティ

Range プロパティを ListColumn オブジェクト、ListObject オブジェクト、ListRow オブジェクト、HeaderRowRange オブジェクト、InsertRowRange オブジェクト、TotalsRowRange オブジェクトのRangeプロパティは、上記リストで指定されるリスト オブジェクトの適用範囲を示す Range オブジェクトを返します。値の取得のみ可能です。

構文expression.Range
キーワード省略説明
expression×こちらは、必ず指定します。対象となるオブジェクトへの参照を返すオブジェクト式を指定します。

AutoFilter、Hyperlink、PivotCell、および SmartTag オブジェクトのRangeプロパティ

AutoFilter、Hyperlink、PivotCell、および SmartTag オブジェクトのRangeプロパティは、それぞれのオブジェクトの範囲を返します。

AutoFilter オブジェクトでは、オートフィルタが適用される範囲を表す Range オブジェクトを返します。Hyperlink オブジェクトでは、指定されたハイパーリンクが割り当てられている範囲を表す Range オブジェクトを返します。PivotCell オブジェクトでは、指定されたピボットテーブル セルが適用される範囲を表す Range オブジェクトを返します。SmartTag オブジェクトでは、指定されたスマート タグが適用される範囲を表す Range オブジェクトを返します。

構文expression.Range
キーワード省略説明
expression×こちらは、必ず指定します。上記リストのオブジェクトのいずれかを返すオブジェクト式を指定します。

Range プロパティを AllowEditRange オブジェクトのRangeプロパティ

Range プロパティを AllowEditRange オブジェクトのRangeプロパティは、保護されたワークシートで編集できる範囲のサブセットを示す Range オブジェクトを返します。

構文expression.Range
キーワード省略説明
expression×こちらは、必ず指定します。AllowEditRange オブジェクトを返すオブジェクト式を指定します。

GroupShapes および Shapes オブジェクトのRangeプロパティ

GroupShapes および Shapes オブジェクトのRangeプロパティは、Shapes コレクションの図形のサブセットを表す ShapeRange オブジェクトを返します。

構文expression.Range(Index)
キーワード省略説明
expression×こちらは、必ず指定します。対象となるオブジェクトへの参照を返すオブジェクト式を指定します。
Index×こちらは、必ず指定します。バリアント型 (Variant) 型の値を使用します。図形範囲に含む、各図形を指定します。図形のインデックス番号を指定する整数、図形を指定する文字列、または整数または文字列を含む配列を使用できます。

Range プロパティを使用すると任意の数の図形を取得できますが、コレクションから 1 つのメンバーだけを取得するには Item メソッドを使用した方が簡単です。たとえば、Shapes.Range(1) より Shapes(1) と記述すると効率的です。

引数 Index に整数または文字列の配列を指定するには、Array 関数を使用します。たとえば、次のコードは名前で指定した 2 つの図形を取得します。

Dim arShapes() As Variant
Dim objRange As Object
arShapes = Array("Oval 4", "Rectangle 5")
Set objRange = ActiveSheet.Shapes.Range(arShapes)

Excel で、ワークシート上にあるすべての Shape オブジェクトを含む ShapeRange オブジェクトを取得する場合、このプロパティが使用できません。次のコードを使用します。

Worksheets(1).Shapes.Select ' すべての図形を選択します。
set sr = Selection.ShapeRange ' ShapeRange を作成します。

Excel VBAでIEを思いのままに操作できるプログラミング術 Excel 2013/2010/2007/2003対応

近田 伸矢, 植木 悠二, 上田 寛

IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。

  • このエントリーをはてなブックマークに追加
ExcelのVBAについてのQ&A掲示板

↑ExcelのVBA全般について分からない事があればこちらの掲示板よりご質問ください^^

VBAのInternetExplorer操作入門

↑ExcelのVBAをマスターできたら、エクセルVBAのIE(InternetExplorer)操作にも挑戦してみてください^^

VBAのIE制御入門RSS

RSSフィードを登録すると最新記事を受け取ることができます。

VBAIE操作のスカイプレッスン

エクセルVBAのステートメント

こちらでは、エクセルVBAの事例で利用したステートメントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのオブジェクト

こちらでは、エクセルVBAの事例で利用したオブジェクトをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのプロパティ

こちらでは、エクセルVBAの事例で利用したオブジェクトのプロパティをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのメソッド

こちらでは、エクセルVBAの事例で利用したオブジェクトのメソッドをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのイベント

こちらでは、エクセルVBAの事例で利用したオブジェクトのイベントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。