나는 그것을 알아 냈다고 생각합니다. 모든 operators을 처리하기 위해이를 업데이트해야하지만, 지금까지 내가 가지고있는 것입니다.
Sub PrintFilters()
Dim ws As Worksheet
Set ws = ThisWorkbook.ActiveSheet
Dim wsn As String
wsn = ws.Name
Dim LastCol As Integer
LastCol = ws.UsedRange.Columns.Count
Dim AllCrit As Variant
Dim CritVar As Variant
Dim CritString As String
Dim i As Integer
For i = 1 To LastCol
On Error Resume Next
With ws.AutoFilter.Filters(i)
Select Case .Operator
Case Is = 7 'xlFilterValues
For Each CritVar In .Criteria1
AllCrit = AllCrit & Chr(44) & Chr(34) & Mid(CritVar, 2) & Chr(34)
CritString = AllCrit
CritString = Replace(CritString, Chr(44), "", 1, 1)
Next
Debug.Print "ThisWorkBook.Sheets(" & Chr(34) & wsn & Chr(34) & Chr(41) & ".UsedRange.Autofilter Field:=" & i & Chr(44) & "Criteria1:=Array(" & CritString & ")," & "Operator:=xlFilterValues"
Case Is = 2 'xlOr
Debug.Print "ThisWorkBook.Sheets(" & Chr(34) & wsn & Chr(34) & Chr(41) & ".UsedRange.Autofilter Field:=" & i & Chr(44) & "Criteria1:=" & Chr(34) & Mid(.Criteria1, 2) & Chr(34) & Chr(44) & "Operator:=xlOr" & Chr(44) & ("Criteria2:=" & Chr(34) & Mid(.Criteria2, 2)) & Chr(34)
Case Is = 0, 1 'other cases/xlAnd
Debug.Print "ThisWorkBook.Sheets(" & Chr(34) & wsn & Chr(34) & Chr(41) & ".UsedRange.Autofilter Field:=" & i & Chr(44) & "Criteria1:=" & Chr(34) & Mid(.Criteria1, 1) & Chr(34)
End Select
End With
AllCrit = Nothing
Next i
End Sub
어떤 결과가 나타 났습니까? – QHarr
@QHarr 이상 적으로, 직접 포함 된 코드를 직접 실행 창에 인쇄하고 싶습니다. –
나는 즉시 인쇄 할 수 있다고 생각하지 않습니다. 문자열이어야합니다. – QHarr