指定した条件に一致するセルを取得(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 |
実行結果
関連記事
-
入力規則(エラーメッセージの設定)Validation オブジェクト
無効値を入力時に、エラーメッセージの表示 Validation.ShowErro …
-
非連続のセルが選択されているか確認する(Areas コレクション)
Areas コレクション の使い方 複数の離れた位置にあるセル範囲を選択した場合 …
-
文字列を縮小して全体を表示(ShrinkToFit プロパティ)
ShrinkToFit プロパティ ShrinkToFit プロパティは、セルに …
-
フリガナ(Phonetics プロパティ)
Phonetics プロパティ Phonetics コレクションを返します。値の …
-
オートフィルタ(抽出件数の取得・結果集計)AutoFilter メソッド
ワークシート関数の Subtotal 関数 の使い方 VBA には、オートフィル …
-
数式を設定・取得する(Formula プロパティ・FormulaR1C1 プロパティ)
Formula プロパティ(FormulaR1C1 プロパティ) Formula …
-
任意のセルを含む行または列全体を参照(EntireRow プロパティ,EntireColumn プロパティ)
EntireRow プロパティ・EntireColumn プロパティ Entir …
-
セル範囲内を検索(Find メソッド)
Find メソッド 指定したセル範囲内の特定の情報を含むセルを検索します。 【書 …
-
アクティブなセルを参照する(ActiveCell プロパティ)
ActiveCell プロパティ ActiveCell プロパティは、各ウィンド …
-
列名を取得、列番号を取得(Address プロパティ,Column プロパティ)
列番号を取得する セル番地(「A1」や「B3」)や列名(「A」「B」「C」 …