Live-Forum - Die aktuellen Beiträge
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

Daten filtern

Daten filtern
18.05.2008 19:11:00
Andreas
Hallo Forum,
ich habe folgenden Code im Forum gefunden:

Sub Makro2()
' Makro2 Makro
' Makro am 15.10.2005 von Jochen02 aufgezeichnet
Application.CutCopyMode = False
Range("Tabelle2!A1:B11").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Range("Tabelle1!A1:A2"), _
CopyToRange:=Range("Tabelle1!A10:B10"), Unique:=False
End Sub


Ich möchte nun aber Daten aus Drei verschiedenen Tabellen fildern (nach dem Kriterium ("Tabelle1!A1:A2")).
Wie muss der Code verändert werden?
Die Werte aus den anderen Tab-Blättern sollen dann in ("Tabelle1!A16:B16") und ("Tabelle1!A30:B30") stehen.
vielen Dank Andreas

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Spezialfilter aus verschiedenen Blättern
18.05.2008 19:21:00
Beate
Hallo Andreas,
die Blattnamen und Bereiche musst du anpassen:
Sub Makro2()
    Application.ScreenUpdating = False
    Sheets("Tabelle2").Select
    Range("Tabelle2!A1:B11").AdvancedFilter Action:=xlFilterCopy, _
        CriteriaRange:=Range("Tabelle1!A1:A2"), _
        CopyToRange:=Range("Tabelle1!A10:B10"), Unique:=False
    Sheets("Tabelle3").Select
    Range("Tabelle3!A1:B11").AdvancedFilter Action:=xlFilterCopy, _
        CriteriaRange:=Range("Tabelle1!A1:A2"), _
        CopyToRange:=Range("Tabelle1!A16:B16"), Unique:=False
    Sheets("Tabelle4").Select
    Range("Tabelle4!A1:B11").AdvancedFilter Action:=xlFilterCopy, _
        CriteriaRange:=Range("Tabelle1!A1:A2"), _
        CopyToRange:=Range("Tabelle1!A30:B30"), Unique:=False
    Application.ScreenUpdating = True
    Sheets("Tabelle1").Select
End Sub


Da man immer im Blatt mit der zu filternden Liste sein muss, kommt man hier nicht ums selektieren drumrum.
Guckst Du: Spezialfilter (4) - Filterergebnis in ein anderes Tabellenblatt
Gruß,
Beate

Anzeige
AW: Spezialfilter aus verschiedenen Blättern
18.05.2008 19:58:39
Andreas
Hallo Beate,
das klappt soweit ganz gut.
Was noch gut wäre, wenn man die Reihenfolgen der Überschriften selbst bestimmen könnte.
Das klappt nur mit Tabelle 2, bei den anderen wird die Reihenfolge der Org.Tabelle genommen.
Noch eine Frage habe ich. Kann man den Code so beeinflussen das die Werte aus der zweiten und der dritten tabelle gleich in die nächsten freien zeilen geschrieben werden. Also nicht unbedingt in Range("Tabelle1!A16:B16") und Range("Tabelle1!A30:B30").
gruß Andreas

AW: Spezialfilter aus verschiedenen Blättern
18.05.2008 20:07:00
Beate
Hallo Andreas,
1.) den Teil deiner Antwort verstehe ich nicht richtig:
"Was noch gut wäre, wenn man die Reihenfolgen der Überschriften selbst bestimmen könnte.
Das klappt nur mit Tabelle 2, bei den anderen wird die Reihenfolge der Org.Tabelle genommen."
Kannst du eine Beispieldatei hochladen?
2.) "Noch eine Frage habe ich. Kann man den Code so beeinflussen das die Werte aus der zweiten und der dritten tabelle gleich in die nächsten freien zeilen geschrieben werden?"
Ja, so:
Sub Makro2()
    Application.ScreenUpdating = False
    Sheets("Tabelle2").Select
    Range("Tabelle2!A1:B11").AdvancedFilter Action:=xlFilterCopy, _
        CriteriaRange:=Range("Tabelle1!A1:A2"), _
        CopyToRange:=Range("Tabelle1!A10:B10"), Unique:=False
    Sheets("Tabelle3").Select
    Range("Tabelle3!A1:B11").AdvancedFilter Action:=xlFilterCopy, _
        CriteriaRange:=Range("Tabelle1!A1:A2"), _
        CopyToRange:=Range("Tabelle1!A65536").End(xlUp).Offset(1, 0), Unique:=False
    Sheets("Tabelle4").Select
    Range("Tabelle4!A1:B11").AdvancedFilter Action:=xlFilterCopy, _
        CriteriaRange:=Range("Tabelle1!A1:A2"), _
        CopyToRange:=Range("Tabelle1!A65536").End(xlUp).Offset(1, 0), Unique:=False
    Application.ScreenUpdating = True
    Sheets("Tabelle1").Select
End Sub


Gruß,
Beate

Anzeige
AW: Spezialfilter aus verschiedenen Blättern
18.05.2008 20:34:04
Andreas
Hallo beate,
zum ersten Teil meiner Frage.
Wenn ich die Reihenfolge der Tabellenüberschrift verändere (in Tab1), klappt das nur im Tab2, die Reihenfolge der Werte aus Tab3 und Tab4 wird wieder in der Reihenfolge dargstellt wie die Org.Tabellen sind.
Der zweite Teil hat funktioniert.
Gruß Andreas

AW: Spezialfilter aus verschiedenen Blättern
18.05.2008 22:17:06
Beate
Bitte Beispieldatei posten - ich kann das immer noch nicht nachvollziehen. Bei mir ist die Spaltenreiheifolge immer gemäß der, die in den gefilterten Blättern ist.
Gruß,
Beate

AW: Spezialfilter aus verschiedenen Blättern
19.05.2008 11:48:00
Andreas
Hallo Beate,
wie postet man eine Datei? Das habe ich noch nie gemacht.
Gruß Andreas

Anzeige
AW: Spezialfilter aus verschiedenen Blättern
19.05.2008 14:13:33
Andreas
HAllo Beate,
hier nun die Datei.
https://www.herber.de/bbs/user/52462.xls
Ich habe sie soweit abgespeckt, dass ich sie laden konnte.
Auf der Seite "Kostenanteil soll die Auflistung geschehen( wie die Überschriften es anzeigen)
Es gibt drei seiten die gefiltert werden sollen, Büro1, Büro2 und Prod.. Ich hatte es erst über eine Pivottabelle versucht. Nur da habe ich Probleme mit der Formatierung gehabt. Jetzt habe ich es über VBA versucht(Dank deiner Hilfe).
gruß Andreas

AW: Spezialfilter aus verschiedenen Blättern
19.05.2008 20:27:00
Beate
Hallo Andreas,
das Ausmaß deiner Anfrage überschreitet Forenhilfe. Es ist machbar. Aber es würde per Code noch x-Zwischenschritte mit Umsortierungen erfordern.
Strukturiere doch die Spaltenüberschriften in Büro1, Büro2 und Prod. in der Reihenfolge, wie du sie im Auswertungsblatt möchtest. Und die anderen Spalten dahinter in diesen Blättern.
Du musst übrigens Zelle A2 im Blatt Kostenanteil als Text formatieren und dann eingeben =Mieter 1. Also wichtig ist das Gleichheitszeichen vorab. Sonst kriegst du auch z.B. Mieter 11 ausgefiltert. Guckst Du: Spezialfilter (2) - Filtern nach Kriterien (ziemlich unten).
Das Blatt "Kostenanteil" hat übrigens eine Leerstelle am Ende. Die würde ich bevorzugt weglöschen - sonst auch im Code berücksichtigen.
Gruß,
Beate

Anzeige
AW: Spezialfilter aus verschiedenen Blättern
19.05.2008 21:01:00
Andreas
Hallo Beate,
Danke für deine Hinweise.
Ich hatte auch schon denganzenTag mein Glück prbiert, ohne Erfolg.
Ich wollte nun nur die Spalte Mieter (B3) und Raumnummer(A3) Filter.
Aber auch das bekomme ich nicht mehr hin. Diese Spalten habe ich neu geordnet( Mieter in B3; Raumnummer in A3) und auch in Kostenanteile sin die Spalten in A und B.
Leider bekomme ich immer den Laufzeitfehler 1004, mit der Meldung: Die Methode "Range" ist für das Objekt_Global fehlgeschlage.
Hast du eine Idee was ich falsch mache?

Sub Makro2()
Application.ScreenUpdating = False
Sheets("Büro1").Select
Range("Büro1!A3:B26").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Range("Kostenanteil!A1:A2"), _
CopyToRange:=Range("Kostenanteil!A10:B10"), Unique:=False
Sheets("Büro2").Select
Range("Büro2!A3:B26").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Range("Kostenanteil!A1:A2"), _
CopyToRange:=Range("Kostenanteil!A65536").End(xlUp).Offset(1, 0), Unique:=False
Sheets("Prod.").Select
Range("Prod.!A3:B26").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Range("Kostenanteil!A1:A2"), _
CopyToRange:=Range("Kostenanteil!A65536").End(xlUp).Offset(1, 0), Unique:=False
Application.ScreenUpdating = True
Sheets("Tabelle1").Select
End Sub


gruß Andreas

Anzeige
AW: Spezialfilter aus verschiedenen Blättern
19.05.2008 23:20:03
Beate
Hallo Andreas,
guck dir das Registerblatt "Kostenanteil" nochmal an. Da steht ein Leerzeichen am Ende des Blattnamens. Deshalt entspricht der Registerblattname nicht dem Code. Lösche dieses Leerzeichen! Excel kann das mit dem Code sonst nicht finden, weil der Blattname durch das Leerzeichen vom Code abweicht.
Das habe ich dir auch schon geschrieben. S.o.
Gruß,
Beate

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige