Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1244to1248
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
Inhaltsverzeichnis

Autofilter merken und wiederherstellen

Autofilter merken und wiederherstellen
Fettertiger
Hallo zusammen,
in meiner Anwendung nutze ich Excel als ein Frontend zu Access. Bei bestimmten Schritten, schreibt mein Tool alle Daten in die Datenbank, löscht die Eingabetabelle in Excel und befüllt alles wieder mit akltualisierten Werten aus Access wieder neu. Das funktioniert auch soweit ganz prima. Leider haben die User jetzt angefangen sich Daten in Excel per Autofilter zurecht zu filtern. Nach dem Refresh durch die Datenbank (und der passiert relativ häufig) wird der Filter aber zurückgesetzt und der User muss sich den Autofilter neu zusammen selektieren.
Unter 2003 habe ich eine Lösung gefunden die aber angeblich nicht unter 2007 laufen soll. Kennt jemand einen Weg wie ich die Filterkriterien auslesen -zwischenspeichern und nach dem "Refresh" wieder herstellen kann? Für den user soll das dann quasi so aussehen als wäre der Autofilter nie ausgeschaltet worden.
Danke und Gruss
Theo

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Autofilter merken und wiederherstellen
17.01.2012 17:39:46
Josef

Hallo Theo,
nutze dafür die Benutzerdefinierte Ansicht.
Sub alsobnichtsgewesenwaere()
  Dim strView As String
  
  strView = "###TEMPVIEW###"
  
  ThisWorkbook.CustomViews.Add strView, True, True
  
  'dein Code
  
  ThisWorkbook.CustomViews(strView).Show
  ThisWorkbook.CustomViews(strView).Delete
End Sub



« Gruß Sepp »

Anzeige
AW: Autofilter merken und wiederherstellen
18.01.2012 17:11:19
Fettertiger
Hallo Sepp,
der Code ist super - jedenfalls funktioniert er in einer vereinfachten Arbeitsmappe einwandfrei.
In meiner "echten" Arbeitsmappe habe ich den Code leider nicht zum laufen bekommen.
Es gab dabei zwei Probleme:
Bei gesetztem Freeze Panes wurden bei mir Daten in falsche Spalten geschrieben.
=> Dieses Problem habe ich jetzt so gelöst, dass ich vor der Erzeugung der Custom View Freeze Panes aussschalte, und nach dem Löschen der Custom View die Fenster neu "einfriere.
Sub alsobnichtsgewesenwaere()
Dim strView As String
ActiveWindow.FreezePanes = False
strView = "###TEMPVIEW###"
ThisWorkbook.CustomViews.Add strView, True, True
'mein Code
With ActiveSheet
If .AutoFilterMode Then
If .FilterMode Then
.ShowAllData
End If
End If
End With
'noch mehr Code
' Ende von meinem Code
ThisWorkbook.CustomViews(strView).Show
ThisWorkbook.CustomViews(strView).Delete
ActiveSheet.Range("C2").Select
ActiveWindow.FreezePanes = True
End Sub
Viel Schwerwiegender ist mein zweites Problem. Durch Stundenlangen Rumprobieren, konnte ich das jetzt soweit eingrenzen:
Gibt es im Workbook noch weitere Tabellen (womöglich ebenfalls mit Autofilter), dann wird die Custom View nicht gezogen. Kopiere ich die zu filternde Tabelle aber in ein neues Workbook funktioniert das Makro einwandfrei.
Wie kann man das problem so lösen, dass nur der Filter für das aktive Worksheet "gemerkt" wird.
Danke und Gruss
Theo
Anzeige
AW: Autofilter merken und wiederherstellen
18.01.2012 18:46:25
Fettertiger
Hallo Nochmal,
das problem war so trivial, da hätte ich vorher drauf kommen können:
Es gab noch mehrere "versteckte" Tabellen mit Blattschutz. Nach entfernen des Blattschutzes funzt das makro ein paar mal wunderbar.
Jetzt habe ich aber noch ein neues Problem.
Der Filter wird zwar wieder hergestellt - aber irgendwie nicht angewendet. Klickt man auf das Filtesymbol im Autofilter sind die Werte richtig ausgewählt - die Werte sind auch wirklich in der Tabelle enthalten, aber trotzdem sind auch Werte sichtbar die nicht im Filter enthalten sind. Also gerade so, als ob die Werte nachträglich hinzugefügt wurden.
Hat jemand eine Idee?
Gruss
Theo
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige