指定した条件に一致するセルを取得(SpecialCells メソッド)
2015/08/26
SpecialCells メソッド
SpecialCells メソッドは、指定した条件(XlCellType 列挙型)に一致するすべてのセルを Range オブジェクト)で返します。
result = Object.SpecialCells ( type [, value ] )
引数・戻り値
- object ・・・ 対象となる Range オブジェクト
- type ・・・ 取得するセルの種類を指定します(XlCellType 列挙型)。
⇒ 引数 type に指定する値(XlCellType 列挙型) を参照 - value ・・・ 引数 type に xlCellTypeConstants または xlCellTypeFormulas を設定した場合のみ XlSpecialCellsValue 列挙型の定数(値)を指定します。これによりより細かな形式の指定を行うことができます。省略するとすべての項目が対象となります。
⇒ 引数 value に指定する値(XlSpecialCellsValue 列挙型) を参照 - result ・・・ 引数で指定された条件を満たしているすべてのセル(Range オブジェクト)。
引数 type に指定する値(XlCellType 列挙型)
定数 | 値 | 内容 |
xlCellTypeConstants | 2 | 定数が含まれているセル |
xlCellTypeBlanks | 4 | 空白セル |
xlCellTypeLastCell | 11 | 使われたセル範囲内の最後のセル |
xlCellTypeVisible | 12 | すべての可視セル |
xlCellTypeFormulas | -4123 | 数式が含まれているセル |
xlCellTypeComments | -4144 | コメントが含まれているセル |
xlCellTypeAllFormatConditions | -4172 | 表示形式が設定されているセル (条件付き書式が設定されているセル) |
xlCellTypeSameFormatConditions | -4173 | 同じ表示形式が設定されているセル (特定の条件付き書式と、同じ条件付き書式が設定されているセル) |
xlCellTypeAllValidation | -4174 | 条件の設定が含まれているセル (入力規則が設定されているセル) |
xlCellTypeSameValidation | -4175 | 同じ条件の設定が含まれているセル |
引数 value に指定する値(XlSpecialCellsValue 列挙型)
定数 | 値 | 内容 |
xlNumbers | 1 | 数値 |
xlTextValues | 2 | 文字 |
xlLogical | 4 | 論理値 |
xlErrors | 16 | エラー値 |
引数 value に、複数のデータを指定するときは、合計して指定します。
(例)Range(“A1:C5”).xlCellTypeFormulas( xlNumbers + xlTextValues )
SpecialCells メソッド で得られる「最後のセル」SpecialCells(xlCellTypeLastCell) は、ブックを保存しないと再計算されないことがあるので注意してください。
SpecialCells メソッドの使用例
サンプル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 |
Sub Sample_SpecialCells() 'エラーが発生したら無視して次へ進む On Error Resume Next '空白セルのアドレス Debug.Print "空白:" & Range("売上表01").SpecialCells(xlCellTypeBlanks).Address '数式セル(数値) Debug.Print "数値:" & Range("売上表01").SpecialCells(xlCellTypeFormulas, xlNumbers).Address '数式セル(文字) Debug.Print "文字:" & Range("売上表01").SpecialCells(xlCellTypeFormulas, 2).Address '数式セル(文字、数値) Debug.Print "数式:" & Range("売上表01").SpecialCells(xlCellTypeFormulas, 1 + 2).Address '条件式書式(設定していないのでエラーとなる) Debug.Print "条件:" & Cells.SpecialCells(xlCellTypeAllFormatConditions).Address '最終セル(使用されているセルの最も右下のセル) Debug.Print "最終:" & Cells.SpecialCells(xlCellTypeLastCell).Address End Sub |
実行結果
関連記事
-
-
対象のセルが配列数式の一部かどうか(HasArray プロパティ)
HasArray プロパティ HasArray プロパティは、対象のセルが配列数 …
-
-
セルの表示形式を設定・取得する(NumberFormat プロパティ)
NumberFormat プロパティ NumberFormat プロパティは、現 …
-
-
文字列をセル幅で折り返す(WrapText プロパティ)
WrapText プロパティ WrapText プロパティは、セルに表示されてい …
-
-
セルの値を置換・書式設定(Replace メソッド,ReplaceFormat プロパティ)
セルの値の置換と書式設定 検索条件に一致するセルの書式を設定するには、まず、Ap …
-
-
オートフィルタ(矢印を非表示にする)AutoFilter メソッド
AutoFilter メソッド 【書式】 object.AutoFilter ( …
-
-
行の高さを取得・設定・する(RowHeight プロパティ)
RowHeight プロパティ RowHeight プロパティは、対象セルの高さ …
-
-
セルの幅・高さの自動調整(AutoFit メソッド)
AutoFit メソッド AutoFit メソッドは、指定したセル・セル範囲(R …
-
-
行・列の表示・非表示(Hidden プロパティ)
Hidden プロパティ Hidden プロパティに True を設定することで …
-
-
セルが選択されているか確認する(TypeName 関数)
セルが選択されているか確認する方法と使用例 TypeName 関数の引数に、Se …
-
-
文字列の横位置を取得・設定する(HorizontalAlignment プロパティ)
HorizontalAlignment プロパティ HorizontalAlig …