Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
976to980
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
976to980
976to980
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Autofilter auf mehreren Tabellen aktivieren

Autofilter auf mehreren Tabellen aktivieren
09.05.2008 10:06:16
Jürgen
Hallo Zusammen,
ich habe folgendes Problem:
Ich möchte eine Gruppe von Tabellen mit dem Autofilter versehen. Leider ist der Befehl aber nach dem Gruppieren nicht mehr auswählbar. Nun müsste ich jede meiner ca. 50 Tabellen einzeln aufrufen und den Autofilter setzten!
Geht das auch noch anders? Und wie kann ich verhindern, wenn sich jemand das Tabellenblatt auf seinen Rechner kopiert, das der Autofilter wieder rausfliegt?
Vielen Dank schon mal im voraus.

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Autofilter auf mehreren Tabellen aktivieren
09.05.2008 13:29:26
fcs
Hallo Jürgen,
das funktioniert dann nur per Makro.
Das nachfolgende Makro kopierst du in ein Modul in deiner persönlichen Makroarbeitsmappe. Dann ist es immer verfügbar.
Die Startzeile und Startspalte des Autofilters -z.Zt. A1 (Cells(1,1)) muss du ggf. anpassen.
Ebenso die Aktion bei ggf. geschützten Blättern.
Beim Kopieren einer Datei/eines Tabellenblattes bleibt die Autofiltereinstellung erhalten.
Falls du "versehentliches" Abschalten des Autofilters verhindern willst, dann muss du mit Blattschutz arbeiten.
Gruß
Franz

Sub AutoFilterEin()
'Erstellt mit Excel 2003
'fcs 2008-05-09
'In allen sichtbaren Tabellenblättern ggf. den Autofilter setzen
'Bei geschützen Blättern wird temporär der Blattschutz aufgehoben
Dim objWks As Worksheet, bolSchutz As Boolean
Dim lngStartZeile As Long, lngStartSpalte As Long
Dim lngEndeZeile As Long, lngEndeSpalte As Long
For Each objWks In ActiveWorkbook.Worksheets
With objWks
Select Case .Name
Case "TabelleXYZ", "Tabelle999" 'Liste der Ausnahmen
'do nothing
Case Else
lngStartZeile = 1 'Nummer der Zeile mit den Spaltentiteln
lngStartSpalte = 1 'Nummer der Startspalte, Spalte A
'Prüfen ob Blatt eingeblendet
If .Visible = xlSheetVisible Then
'Prüfen ob Blattschutz aktiv
If .ProtectContents = False Then
'Prüfen, ob Autofilter bereits eingerichtet
If .AutoFilterMode = False Then
'Zeile der letzten benutzen Zelle
lngEndeZeile = .Cells.SpecialCells(xlCellTypeLastCell).Row
'Letzte Spalte mit Inhalt in der Startzeile
lngEndeSpalte = .Cells(lngStartZeile, .Columns.Count).End(xlToLeft).Column
'Autofilter setzen
.Range(.Cells(lngStartZeile, lngStartSpalte), _
.Cells(lngEndeZeile, lngEndeSpalte)).AutoFilter
End If
Else
.Unprotect
If .AutoFilterMode = False Then
lngEndeZeile = .Cells.SpecialCells(xlCellTypeLastCell).Row
lngEndeSpalte = .Cells(lngStartZeile, .Columns.Count).End(xlToLeft).Column
.Range(.Cells(lngStartZeile, lngStartSpalte), _
.Cells(lngEndeZeile, lngEndeSpalte)).AutoFilter
End If
'Blattschutz wieder einrichten, Autofiltern ist zulässig
.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFiltering:=True
End If
End If
End Select
End With
Next
End Sub


Anzeige

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige