関数・メソッド

複数に分けられたセル範囲を取得する【Areasプロパティ】【ExcelVBA】

Areasプロパティ

Areasプロパティは範囲内にあるセル領域の集まり(コレクション)です。
隣接しているセル領域を複数取得する場合に使用します。

単一のセル範囲を返すときは、引数にインデックス番号を指定します。
このインデックス番号は領域を選択した順番に対応しています。

Range(“A1:A3,C1:C3,E1:E3”)とした場合
A1:A3はAreas(1)
C1:C3はAreas(2)
E1:E3はAreas(3)
となります。

Areasプロパティを使ったサンプルコード

'■選択されている領域のセル番地を表示する
Public Sub Sample()
    Dim rng As Range
    Range("A1:B3,A7:D11,D1:E4").Select  '選択範囲を3つ設定
    
    For Each rng In Selection.Areas     '各範囲のセル番地を表示
        Debug.Print rng.Address(False, False)
    Next rng

End Sub

'■特定の領域だけ処理する(F8で流れを確認)
Public Sub Sample_Clear()
  Range("A1:C5").Value = "a"            'セルに文字を入力
  Range("A1:A5,B1:B5,C1:C5").Select     '3つの領域を選択
  
  With Selection  '2つ目の選択範囲のみクリア
    .Areas(2).Clear
  End With

End Sub

注意点

  • Rangeオブジェクトの集まりがAreasコレクションです。
    ※単一のAreasオブジェクトはありません。

関連記事

コメント

タイトルとURLをコピーしました