指定した条件に一致するセルを取得(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 |
実行結果
関連記事
-
文字列をセル幅で折り返す(WrapText プロパティ)
WrapText プロパティ WrapText プロパティは、セルに表示されてい …
-
文字列の横位置を取得・設定する(HorizontalAlignment プロパティ)
HorizontalAlignment プロパティ HorizontalAlig …
-
セルを参照する(Range プロパティ)
Range プロパティ 任意のセルにアクセスするには Range プロパティを使 …
-
対象のセルを参照している全てのセルを取得(Dependents プロパティ)
Dependents プロパティ Dependents プロパティは、対象のセル …
-
次の検索(FindNext メソッド,FindPrevious メソッド)
FindNext メソッド Find メソッドで開始された検索を継続します。引数 …
-
セルのアドレスを確認(Address プロパティ)
Address プロパティ Address プロパティ・AddressLocal …
-
ワイルドカードを使って検索(Find メソッド)
Find メソッド 指定したセル範囲内の特定の情報を含むセルを検索します。 【書 …
-
任意の行または列を参照(Rows プロパティ,Columns プロパティ)
Rows プロパティ・Columns プロパティ Rows プロパティは、オブジ …
-
オートフィルタ(日付による抽出)AutoFilter メソッド
日付で、抽出する(AutoFilter メソッド) 【書式】 object.Au …
-
セルを参照する(Cells プロパティ)
Cells プロパティ Cells プロパティは、ワークシートの行番号と列番号を …