指定した条件に一致するセルを取得(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 |
実行結果
関連記事
-
-
ワイルドカードを使って検索(Find メソッド)
Find メソッド 指定したセル範囲内の特定の情報を含むセルを検索します。 【書 …
-
-
入力規則(日本語入力)Validation オブジェクト,IMEMode プロパティ
IMEMode プロパティ Validation.IMEMode プロパティ を …
-
-
文字列の一部の書式を変更(Characters プロパティ)
文字列の一部を参照(Characters プロパティ) Characters プ …
-
-
セルの高さ・幅を取得(Height プロパティ・Width プロパティ)
Height プロパティ・Width プロパティ Height プロパティは、指 …
-
-
セルのアドレスを確認(Address プロパティ)
Address プロパティ Address プロパティ・AddressLocal …
-
-
ハイパーリンク(Hyperlinks オブジェクト)
Hyperlinks オブジェクト ワークシートまたはセル範囲のワークシートコレ …
-
-
オートフィルタ(日付・時刻のグループ化)AutoFilter メソッド
グループ化された日付や時刻で、レコードを抽出する Excel 2007 から日付 …
-
-
オートフィルタ(矢印を非表示にする)AutoFilter メソッド
AutoFilter メソッド 【書式】 object.AutoFilter ( …
-
-
セルの行番号または列番号を取得(Row プロパティ,Column プロパティ)
Row プロパティ・Column プロパティ Row プロパティは、指定したセル …
-
-
次の検索(FindNext メソッド,FindPrevious メソッド)
FindNext メソッド Find メソッドで開始された検索を継続します。引数 …