即効テクニック |
オートフィルタの条件にはCriteria1,Criateria2,Operatorプロパティーなどを使用します。サンプルではこれらのプロパティーを利用してシート上のオートフィルタに既に設定されている抽出条件を取得します。
Sub GetCriteria() If ActiveSheet.AutoFilter Is Nothing then Exit Sub Dim CntCol As Integer Dim i As Long Dim Op As String Dim Result As String With ActiveSheet.AutoFilter CntCol = .Filters.Count For i = 1 To CntCol On Error Resume Next 'エラー回避 '列ごとにフィルタがOnの場合に条件取得 If .Filters(i).On = True Then Result = Result & i & "番目の項目:" & .Filters(i).Criteria1 Result = Result & ":" & .Filters(i).Criteria2 Op = " 条件 : " 'Operatorに指定されている条件の取得 '使用できる定数は⇒XlAutoFilterOperatorクラス Select Case .Filters(i).Operator Case xlAnd: Op = Op & "AND" Case xlBottom10Items: Op = Op & "Bottom" Case xlBottom10Percent: Op = Op & "Bottom(%)" Case xlOr: Op = "OR" Case xlTop10Items: Op = Op & "Top" Case xlTop10Percent: Op = Op & "Top(%)" End Select Result = Result & Op & vbCrLf Op = "" End If Next i End With MsgBox Result End Sub