非連続のセルが選択されているか確認する(Areas コレクション)
Areas コレクション の使い方
複数の離れた位置にあるセル範囲を選択した場合に、そのセル領域がいくつあるか調べたり、それぞれのセル領域に対しての処理を行ったりするのに、Areas コレクションを使用します。
Areas.Item プロパティ
Object.Areas[ .Item ] ( index )
【項目の説明】
- object ・・・ 対象となるセル・セル範囲(Range オブジェクト)
- index ・・・ 領域のインデックス番号を指定します。インデックス番号は、領域が選択された順序に対応しています。
Areasコレクションには、選択範囲内の各セル領域に対応するRangeオブジェクトが含まれます。AreasコレクションからRange オブジェクトを取得するには、Areas.Item プロパティを使用します。(Item は、デフォルトプロパティなので、省略可能です。)
Areas.Count プロパティ
area_count = Object.Areas.Count
【項目の説明】
- object ・・・ 対象となるセル・セル範囲(Range オブジェクト)
- area_count ・・・ 選択されている、連続していないセル範囲の数を示します。連続した 1 つの範囲のみが選択されている場合は 1、連続していない 2 つのセル範囲が選択されていたら 2 となります。
Areas コレクションの使用例
サンプルVBAソース
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
Sub Sample_Areas() Dim myArea, i Range("A1:A11,C1,E1,F1").Select With Selection.Areas If .Count > 1 Then '非連続のセル範囲が選択されている場合の処理 For i = 1 To .Count With .Item(i).Font .Bold = True 'フォントを太字 .Color = vbRed 'フォントの色を赤 End With Next i End If End With End Sub |
実行結果
マクロ実行前
マクロ実行後
関連記事
-
-
オートフィルタ(アイコンで抽出する)AutoFilter メソッド
オートフィルタ(アイコンで抽出する) Excel 2007 から、条件付き書式で …
-
-
行・列の表示・非表示(Hidden プロパティ)
Hidden プロパティ Hidden プロパティに True を設定することで …
-
-
引数に指定したセル範囲の共通のセル範囲を取得(Intersect メソッド)
Intersect メソッド Intersect メソッドは、引数に指定したセル …
-
-
セルの特定の要素のみをペーストする(PasteSpecial メソッド)
PasteSpecial メソッド PasteSpecial メソッドは、Cop …
-
-
セルの高さ・幅を取得(Height プロパティ・Width プロパティ)
Height プロパティ・Width プロパティ Height プロパティは、指 …
-
-
入力規則(リストで制限する)Validation.Add メソッド
ドロップダウンリストで入力値を制限 Validation.Add メソッド(また …
-
-
オートフィルタ(日付・時刻のグループ化)AutoFilter メソッド
グループ化された日付や時刻で、レコードを抽出する Excel 2007 から日付 …
-
-
A1 形式と R1C1 形式を変換、相対参照と絶対参照を変換(ConvertFormula)
ConvertFormula メソッド 数式で参照しているアドレスの相対参照と絶 …
-
-
オートフィルタ(日付フィルタ)AutoFilter メソッド
日付フィルタを使用してレコードを抽出する Excel 2007 から「日付フィル …
-
-
外枠罫線の設定(BorderAround メソッド)
外枠罫線の設定 罫線の設定には、Borders プロパティを使用しますが、範囲内 …

