Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
280to284
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
280to284
280to284
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Filter

Filter
12.07.2003 08:07:32
Michael
Ich habe folgendes Problem: in einer Datenbank sind ca. 1200 Einträge. In mehr als 90 Tabellenblättern will ich auf diese Datenbank zugreifen und dabei den Spezialfilter verwenden. Der Ausgabebereich ist immer gleich, natürlich auch die Datenquelle. Der Kriterienbereich ist immer gleich breit ( 2 Spalten ), jedoch unterschiedlich lang, da unterschiedliche Kriterien definiert werdenmüssen. Kann man diesen Filtervorgang für alle Blätter automatisieren, oder muss man den Filter seperat für alle Blätter starten. ( also ca. 90 mal.....?)
Alles klar?
Vielen Danl!

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Filter
12.07.2003 08:54:57
andre
hallo michael,
das ganze kannst du mit einer schleife über alle blätter regeln:
den namen des zielblattes natürlich ausgeklammert.
im prinzip so
for each blaetter in sheets.count()
if blaetter.name<>"zielblatt" then
letztezelle=cells(rows.count,1)end(xlup).row
--> spezialfilter
endif
next
gruss andre

AW: Filter
12.07.2003 10:20:44
Michael
Hallo Andre,
vielen Dank für Deine schnelle Antwort, hört sich sehr gut an, nur habe ich noch nie ein Makro geschrieben!!
Ist das ganze Ding sehr aufwendig?
Vielen Dank Michael

AW: Filter
12.07.2003 11:32:11
andre
hallo michael,
eigentlich nicht, wenn man weiss, was gemeint ist:

Sub Makro1()
' Makro1 Makro
' Makro am 12.07.2003 von wanderer aufgezeichnet
For Each blaetter In Sheets()
' Daten übertragen ausser die vom Zielblatt
If blaetter.Name <> "Zielblatt" Then
blaetter.Activate
' letztezelle in Spalte A (1), wenn in A alle Zeilen oder zumindest die letzte
' im Datenbereich ausgefüllt ist
letztezelle = Cells(Rows.Count, 1).End(xlUp).Row
'Daten gefiltert unter den vorhandenen Daten eintragen und ausschneiden
Range("A1:D" & letztezelle).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
"A" & letztezelle + 1), Unique:=True
Range("A" & letztezelle + 1 & ":D" & 2 * letztezelle + 1).Cut
'Daten auf Zielblatt übertragen
Sheets("Zielblatt").Activate
letztezelle = Cells(Rows.Count, 1).End(xlUp).Row
Range("A" & letztezelle + 1).Select
ActiveSheet.Paste
End If
Next
End Sub

dieser teil ist das spezialfiltern:
Range("A1:D" & letztezelle).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
"A" & letztezelle + 1), Unique:=True
da kannst du mal über aufzeichnen ausprobieren, was alles mäglich ist bzw was welche auswirkungen hat.
gruß andre

Anzeige
AW: Filter
12.07.2003 12:41:26
Michael
Hallo Andre,
wenn du mir deine mail zur Verfügung stellst, dann sende ich dir die Mappe mal zu!
Gruß Michael

AW: Filter
13.07.2003 17:27:16
andre
hallo michael,
andre@a-schau.de
gruss andre

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige