Application.Range プロパティ (Excel)

セルまたはセル 範囲を表す Range オブジェクトを返します。

構文

Range (Cell1, Cell2)

expression Application オブジェクトを 表す変数。

パラメーター

名前 必須 / オプション データ型 説明
Cell1 必須 Variant 範囲の名前を指定します。 A1 形式の参照をコード記述時の言語で指定します。 範囲名には、範囲を表す演算子 (:)、共通部分を表す演算子 (スペース)、または複数の範囲を表す演算子 (,) を含めることができます。 また、ドル記号を含め、無視できます。 範囲の任意の部分でローカル定義名を使用します。 名前を使用する場合、その名前はコード記述時の言語で表されたものと見なされます。
Cell2 省略可能 Variant セル範囲の左上隅と右下隅のセルを指定します。 各引数には、単一のセル、列全体、または行全体を含む Range オブジェクト、あるいはコード記述時の言語で単一のセルの名前を示す文字列を指定できます。

解説

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

Range オブジェクトに対して使用すると、このプロパティは Range オブジェクト基準にした相対的な範囲を返します。 たとえば、セル C3 が選択されている場合に、Selection.Range("B1") を呼び出すと、Selection プロパティで取得される Range オブジェクトに相対的な範囲が返されるため、セル D3 が取得されます。 一方、ActiveSheet.Range("B1") というコードでは、常にセル B1 が取得されます。

次の使用例は、シート 1 のセル A1 の値を 3.14159 に設定します。

Worksheets("Sheet1").Range("A1").Value = 3.14159

次の使用例は、シート 1 のセル A1 に数式を作成します。

Worksheets("Sheet1").Range("A1").Formula = "=10*RAND()"

次の使用例は、シート 1 のセル範囲 A1:D10 に対してループを行います。 セルの値が 0.001 未満の場合は、値をゼロ (0) に置き換えます。

For Each c in Worksheets("Sheet1").Range("A1:D10") 
 If c.Value < .001 Then 
 c.Value = 0 
 End If 
Next c

次の使用例は、TestRange という名前の範囲をループ処理し、範囲内の空のセルの数を表示します。

numBlanks = 0 
For Each c In Range("TestRange") 
 If c.Value = "" Then 
 numBlanks = numBlanks + 1 
 End If 
Next c 
MsgBox "There are " & numBlanks & " empty cells in this range"

次の使用例は、シート 1 のセル範囲 A1:C5 のフォント スタイルを斜体に設定します。 この例は Range プロパティの構文 2 を使用します。

Worksheets("Sheet1").Range(Cells(1, 1), Cells(5, 3)). _ 
 Font.Italic = True 

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。