指定した条件に一致するセルを取得(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 |
実行結果
関連記事
-
オートフィルタ(日付による抽出)AutoFilter メソッド
日付で、抽出する(AutoFilter メソッド) 【書式】 object.Au …
-
オートフィルタ(抽出件数の取得・結果集計)AutoFilter メソッド
ワークシート関数の Subtotal 関数 の使い方 VBA には、オートフィル …
-
対象のセルが直接参照しているセル全てを取得(DirectPrecedents プロパティ)
DirectPrecedents プロパティ DirectPrecedents …
-
セルの位置を取得(Left プロパティ、Top プロパティ)
Left プロパティ・Top プロパティ Left プロパティは、「A列」の左端 …
-
ハイパーリンク(Hyperlink オブジェクト)
Hyperlink オブジェクト Hyperlinks コレクション のメンバー …
-
セルの値を置換・書式設定(Replace メソッド,ReplaceFormat プロパティ)
セルの値の置換と書式設定 検索条件に一致するセルの書式を設定するには、まず、Ap …
-
ハイパーリンク(Hyperlink オブジェクトのメソッド)
Hyperlink オブジェクトのメソッド Hyperlinks コレクション …
-
入力規則(他セルや数式を利用して許容値を設定)Validation オブジェクト
他のセルや数式を利用して許容値を設定する 入力規則(その5) での設定を、マクロ …
-
ハイパーリンク(Hyperlinks オブジェクト)
Hyperlinks オブジェクト ワークシートまたはセル範囲のワークシートコレ …
-
行・列の表示・非表示(Hidden プロパティ)
Hidden プロパティ Hidden プロパティに True を設定することで …