アクセス上位ページ
 
最近の更新内容
(6)-n.Copy,Insert,Delete メソッド ⇐ [PREV]
[NEXT] ⇒ (6)-p.Sort メソッド

Excel VBA ≫ 1.基礎編 - セル・レンジ(6)-o.SpecialCells メソッド

【ページ内リンク】

SpecialCells メソッド

ある特定の条件に該当するセルをまとめて抽出したい場合はSpecialCellsメソッドを使用します。 引数Typeに抽出条件に関する定数を設定して使用するのが、主な使用方法になります。



  • 【構文】
    object.SpecialCells ( Type [, Value] )

  • 引数名 省略 定数/データ型 説明
    Type × xlCellTypeAllFormatConditions 表示形式が設定されているセル
    xlCellTypeAllValidation 条件の設定が含まれているセル
    xlCellTypeBlanks 空白セル
    xlCellTypeComments コメントが含まれているセル
    xlCellTypeConstants 定数が含まれているセル
    xlCellTypeFormulas 数式が含まれているセル
    xlCellTypeLastCell 使われたセル範囲内の最後のセル
    xlCellTypeSameFormatConditions 同じ表示形式が設定されているセル
    xlCellTypeSameValidation 同じ条件の設定が含まれているセル
    xlCellTypeVisible すべての可視セル
    Value Variant型 引数Typeに xlCellTypeConstants または xlCellTypeFormulas を設定した場合に、特定の種類の定数や数式を含むセルだけを取得できます。 省略すると、すべての定数および数式が対象になります。

  • SpecialCellsメソッドの使用例
  • Sub sample6_38()
        On Error Resume Next
        Dim wTarget     As Range
    
        'SpecialCellsで取得したセルの参照をワーク領域へ保存
        Set wTarget = Cells.SpecialCells(xlCellTypeLastCell)
    
        '該当するセルがない場合はエラーとなるので、
        'エラーの場合はメッセージを出力して処理を終了します。
        If Err.Number > 0 Then
            MsgBox "該当セルなし", vbExclamation
            Err.Clear
            End
        End If
    
        '該当セルを黄色に塗りつぶします。
        wTarget.Interior.Color = vbYellow
    End Sub
    
    ⇒ サンプルマクロ集 へ

    <実行前>

    sample6_38の実行前

      ※実行前状態の補足
    • セルE4〜E13には数式が設定されています。
    • セルF4〜F13には数式と条件付き書式が設定されています。

  • 実行結果@: sample6_38でSpecialCellsにxlCellTypeAllFormatConditionsを指定した場合
  • 条件付き書式の設定してあるF4〜F13セルが塗りつぶされました。
    sample6_38でSpecialCellsにxlCellTypeAllFormatConditionsを指定した場合の実行結果
  • 実行結果A: sample6_38でSpecialCellsにxlCellTypeAllValidationを指定した場合
  • 入力規則を設定してあるセルはないため、『該当セルなし』となりました。
    sample6_38でSpecialCellsにxlCellTypeAllValidationを指定した場合の実行結果
  • 実行結果B: sample6_38でSpecialCellsにxlCellTypeBlanksを指定した場合
  • 値や数式が設定されていないセルが塗りつぶされました。
    sample6_38でSpecialCellsにxlCellTypeBlanksを指定した場合の実行結果
  • 実行結果C: sample6_38でSpecialCellsにxlCellTypeCommentsを指定した場合
  • コメントの設定してあるE3、F3セルが塗りつぶされました。
    sample6_38でSpecialCellsにxlCellTypeCommentsを指定した場合の実行結果
  • 実行結果D: sample6_38でSpecialCellsにxlCellTypeConstantsを指定した場合
  • 値の設定されているセルが塗りつぶされました。
    ※数式の設定されているセルは塗りつぶされません。
    sample6_38でSpecialCellsにxlCellTypeConstantsを指定した場合の実行結果
  • 実行結果E: sample6_38でSpecialCellsにxlCellTypeFormulasを指定した場合
  • 数式の設定してあるE4〜F13セルが塗りつぶされました。
    sample6_38でSpecialCellsにxlCellTypeFormulasを指定した場合の実行結果
  • 実行結果F: sample6_38でSpecialCellsにxlCellTypeLastCellを指定した場合
  • 一番右下のF13セルが塗りつぶされました。 sample6_38でSpecialCellsにxlCellTypeLastCellを指定した場合の実行結果
カテゴリ内ページ



Page
Top