VBAのRangeプロパティ
こちらでは、エクセルVBAのRangeプロパティの解説になります。
プロパティとはオブジェクトの属性を指します。属性とは、そのオブジェクトの情報そのものです。プロパティはその値を取得したり、設定することもできます。プロパティを利用するにはオブジェクト名とプロパティ名の間に「.(ピリオド)」で結んで記述します。
オブジェクト名.プロパティ名
また、プロパティを設定する場合は以下のように「=(イコール)」を記述し設定値を代入します。
オブジェクト名.プロパティ名 = 設定値
目次
- AllowEditRange オブジェクトのRangeプロパティ
- Application、Range、および Worksheet オブジェクトのRangeプロパティ
- Range プロパティを ListColumn オブジェクト、ListObject オブジェクト、ListRow オブジェクト、HeaderRowRange オブジェクト、InsertRowRange オブジェクト、TotalsRowRange オブジェクトのRangeプロパティ
- AutoFilter、Hyperlink、PivotCell、および SmartTag オブジェクトのRangeプロパティ
- Range プロパティを AllowEditRange オブジェクトのRangeプロパティ
- GroupShapes および Shapes オブジェクトの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 を作成します。
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。