複数の範囲を参照する

複数のセル範囲を参照するには、必要に応じて次のメソッドを使い分けます。 任意の複数セル範囲を参照する場合は、Range メソッドと Union メソッドを使います。 また、ワークシートで選択している複数のセル範囲を参照する場合は、 Areas プロパティを使います。

Range プロパティを使う

Range プロパティで複数のセル範囲を参照するには、各セル範囲をカンマ (,) で区切って並べます。 次の使用例は、シート 1 にある 3 つのセル範囲の内容を消去します。

Sub ClearRanges() 
 Worksheets("Sheet1").Range("C5:D9,G9:H16,B14:D18"). _ 
 ClearContents 
End Sub

セル範囲に名前を付けておくと、Range プロパティで複数のセル範囲を扱う操作が簡単になります。 次の使用例は、名前の付いた 3 つのセル範囲が、すべて同じシートにある場合に動作します。

Sub ClearNamed() 
 Range("MyRange, YourRange, HisRange").ClearContents 
End Sub

Union メソッドを使う

Union メソッドを使用すると、複数の範囲を 1 つの Range オブジェクトに結合できます。 次の例は、 Range オブジェクト変数 myMultipleRange を宣言し、このオブジェクト変数にセル範囲 A1:B2 と C3:D4 を定義し、結合されたセル範囲の書式に太字を設定します。

Sub MultipleRange() 
 Dim r1 As Range, r2 As Range, myMultipleRange As Range 
 Set r1 = Sheets("Sheet1").Range("A1:B2") 
 Set r2 = Sheets("Sheet1").Range("C3:D4") 
 Set myMultipleRange = Union(r1, r2) 
 myMultipleRange.Font.Bold = True 
End Sub

Areas プロパティを使用する

Areas プロパティを使うと、複数選択範囲の中の指定された領域、または領域のコレクションを参照できます。 次の使用例は、選択範囲の中の領域を数えます。 複数の領域がある場合は、警告のメッセージが表示されます。

Sub FindMultiple() 
 If Selection.Areas.Count > 1 Then 
 MsgBox "Cannot do this to a multiple selection." 
 End If 
End Sub

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

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