Hallo zusammen, (Excel Vers. 2003)
kann man bei gesetzten Filter, die Spalten/Zellen auslesen lassen. Bei einer breiten Liste ist es Mühsam diese Filter zu suchen. Hat hierzu jemand eine Idee:
Liebe Grüße
Wolfgang
Hallo Wolfgang,
mit dem folgenden Makro werden für das aktive Tabellenblatt in einer MsgBox die Spalten angezeigt, für die ein Filter gesetzt ist.
Gruß
Franz
'Erstellt uner Excel 2010 - Code in einem allgemeinen Modul
Sub Anzeigen\_gesetzte\_AutoFilterSpalten()
Dim wks As Worksheet, intFilter As Integer
Dim strMsgText As String, strMsgTitel As String
Dim strSpalte As String, strSpalte1 As String
Set wks = ActiveSheet
strMsgTitel = "Aktives Tabellenblatt - gesetzte Filter im Autofilter"
With wks
If .AutoFilterMode = True Then
If .FilterMode = True Then
strMsgText = "Filter gesetzt in Spalten"
For intFilter = 1 To .AutoFilter.Filters.Count
If .AutoFilter.Filters(intFilter).On = True Then
strSpalte = .AutoFilter.Range.Cells(1, intFilter).EntireColumn \_
.Address(ColumnAbsolute:=False)
If strSpalte1 = "" Then
strSpalte1 = .AutoFilter.Range.Cells(1, intFilter).Address \_
(ColumnAbsolute:=False, Rowabsolute:=False)
End If
strSpalte = Mid(strSpalte, InStr(1, strSpalte, ":") + 1)
strMsgText = strMsgText & Chr(10) & strSpalte \_
& " - " & .AutoFilter.Range.Cells(1, intFilter).Text
End If
Next
If MsgBox(strMsgText & vbLf & "Zelle " & strSpalte1 & " selektieren?", \_
vbYesNo + vbQuestion + vbDefaultButton2, \_
strMsgTitel) = vbYes Then
Range(strSpalte1).Select
End If
Else
MsgBox "Zur Zeit kein Filter im Autofilter gesetzt", \_
vbInformation, strMsgTitel
End If
Else
MsgBox "Im aktiven Tabellenblatt ist der Autofilter nicht aktiv", \_
vbInformation, strMsgTitel
End If
End With
End Sub
Hallo Franz,
Danke Dir!, werde es gleich einbauen.
L.G. Wolfgang
Franz es funktioniert super. Dank nochmal!
Gruß - Wolfgang