ExcelWork.info

Excel(エクセル)のマクロ・VBA・関数・操作などのメモ

オートフィルタの状況を確認(AutoFilterMode, FilterMode)

      2016/07/18

AutoFilterMode プロパティ

AutoFilterMode プロパティ(Worksheet オブジェクト)を調べることで、ワークシート上にオートフィルタが設定されているかどうかを確認することができます。ちなみに、オートフィルタは、1つのワークシート上に1つしか設定することができません。


【書式】

object.AutoFilterMode = boolean


引数・戻り値

  • object  ・・・  対象となる Worksheet オブジェクトを指定します。
  • boolean  ・・・  False のみ設定することができます。False を指定すると、オートフィルタが解除されます。(※ True を指定するとエラーが発生します)

AutoFilter プロパティ(Worksheet オブジェクト)でも確認可能です。オートフィルタが設定されている場合、AutoFilter オブジェクトを返します。設定されていない場合、Nothing を返します。
【オートフィルタが設定されているかどうかを確認する例】
  Dim myFilter As AutoFilter
  Set myFilter = Activesheet.AutoFilter
  If myFilter Is Nothing Then
    ’オートフィルタが設定されていない場合の処理
  Else
    ’オートフィルタが設定されている場合の処理
  End If



FilterMode プロパティ

FilterMode プロパティ(AutoFilter オブジェクト)を調べることで、オートフィルタが何らかの条件で絞りこまれているかどうかを調べることができます。ただし、Excel 2007 以降のみ使用可能です。


【書式】

object.FilterMode


引数・戻り値

  • object  ・・・  対象となる Worksheet オブジェクト または、AutoFilter オブジェクト を指定します。
  • オートフィルタが絞りこまれている場合、True を、そうでない場合は、False を返します。ブール型(Boolean)の値を使用します。値の取得のみ可能です。


オートフィルタの状況確認 FilterMode プロパティを使用した例

サンプルVBAソース


実行結果

オートフィルタの状況を確認 使用例1



Filter.On プロパティ

FilterMode プロパティは、Excel 2007 以降のバージョンでしか使用できないので、それまでのバージョンで判定するには、各列ごとに絞り込みが行われているかどうかを確認します。それを行うには、Filters コレクション から各列の Filter オブジェクト を取得し、On プロパティ(Filters.Item(index).On)の値(ブール型)を調べます。その列が絞り込まれている場合、True を返します。


【書式】

<各列のオートフィルタが絞りこまれているかを取得>
object.Filters[ .Item ](index).On

<列数を取得>
object.Filters.Count


引数・戻り値

  • object  ・・・  対象となる Worksheet オブジェクトを指定します。
  • index  ・・・  長整数型(Long)のオブジェクトのインデックス番号を指定します(つまり、各列を表します)。


オートフィルタの状況確認 Filter.On プロパティを使用した例

サンプルVBAソース


実行結果

オートフィルタの状況を確認 使用例2


 - セルの操作 , , , , ,

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

  関連記事

FormulaHidden プロパティ 例1
数式を非表示にする(FormulaHidden プロパティ)

FormulaHidden プロパティ 数式が入力されたセルを選択するとその数式 …

Row プロパティ・Column プロパティ 例
セルの行番号または列番号を取得(Row プロパティ,Column プロパティ)

Row プロパティ・Column プロパティ Row プロパティは、指定したセル …

ハイパーリンク(Hyperlink オブジェクト)

Hyperlink オブジェクト Hyperlinks コレクション のメンバー …

Locked プロパティ
セルのロック(Locked プロパティ)

セルのロック(Locked プロパティ) Locked プロパティで、セルのロッ …

並べ替え(Sort メソッド)

Sort メソッド 任意のセル範囲内で、並べ替えを行います。引数で、並べ替えの条 …

配列数式を取得または設定する(FormulaArray プロパティ)

FormulaArray プロパティ FormulaArray プロパティは、対 …

網かけ(パターン)の取得・設定(Pattern プロパティ)

網かけ(パターン)を取得・設定する セルの背景に網かけ(パターン)を設定したり、 …

指定した行数・列数移動したセル・セル範囲を参照(Offset プロパティ)

Offset プロパティ Offset プロパティは、基準となるセル・セル範囲か …

文字列をセル幅で折り返す(WrapText プロパティ)

WrapText プロパティ WrapText プロパティは、セルに表示されてい …

オートフィルタ(アイコンで抽出する)AutoFilter メソッド

オートフィルタ(アイコンで抽出する) Excel 2007 から、条件付き書式で …