Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
624to628
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
624to628
624to628
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Autofiltereinstellungen speichern

Autofiltereinstellungen speichern
23.06.2005 11:06:08
BecoQS
Hallo,
ich habe eine Tabelle mit externen Daten die mit Autofiltern gefiltert ist. Beim Aktualisieren der externen Daten gehen die Autofiltereinstellungen verloren.
Ist es mit VBA möglich erst die Filtereinstellungen in Variablen zu sichern um sie dann nach dem aktualisieren mit selection.Autofilter wieder zu setzen?
Danke für jeden Tip

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Autofiltereinstellungen speichern
26.06.2005 00:11:23
Klaus
Hallo BecoQS,
versuch mal, ob das hier bei dir klappt:
Der Code Set ZeileAutoFilter = .Rows(1) muß angepaßt werden.
Es ist die Zeile, in der die AutoFilter aktiviert sind bzw. werden sollen.
Alle Vorgänge beziehen sich auf die aktuelle Tabelle (With ActiveSheet).
Sub FiltereinstellungenMerken()
Dim Wert_Filter1() As String, Wert_Filter2() As String
Dim Wert_UndOder(), Filteranzahl As Integer
Dim i As Integer, f As Object, ZeileAutoFilter As Range
With ActiveSheet
'Filtereinstellungen merken

Set ZeileAutoFilter = .Rows(1) 'bitte anpassen

Filteranzahl = .AutoFilter.Filters.Count
ReDim Preserve Wert_Filter1(Filteranzahl)
ReDim Preserve Wert_Filter2(Filteranzahl)
ReDim Preserve Wert_UndOder(Filteranzahl)
If .AutoFilterMode Then
i = 1
For Each f In .AutoFilter.Filters
With f
If .On Then
Wert_Filter1(i) = .Criteria1
Wert_UndOder(i) = .Operator
On Error Resume Next
Wert_Filter2(i) = .Criteria2
End If
End With
i = i + 1
Next
End If
'Ende Filtereinstellungen merken
'Beispielcode
On Error Resume Next
ActiveSheet.ShowAllData 'Alles anzeigen
ActiveWindow.ScrollRow = 1 'Zeile 1 anzeigen
'Beispielcode Ende
'Beispielcode durch den Code ersetzen,
'welcher die externen Daten einfügt
'Filtereinstellungen wiederherstellen
For i = 1 To Filteranzahl
If Wert_Filter1(i) = "" Then
ZeileAutoFilter.AutoFilter Field:=i
Else
If Wert_Filter2(i) = "" Then
ZeileAutoFilter.AutoFilter Field:=i, Criteria1:=Wert_Filter1(i)
Else
ZeileAutoFilter.AutoFilter Field:=i, Operator:=Wert_UndOder(i), _
Criteria1:=Wert_Filter1(i), Criteria2:=Wert_Filter2(i)
End If
End If
Next i
'Ende Filtereinstellungen wiederherstellen
End With
End Sub

Gruß Klaus
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige