2.8k Aufrufe
Gefragt in Tabellenkalkulation von fedjo Experte (2.2k Punkte)
Hallo,
wie kann ich das Ergebnis eines Autofilters (sichtbare Daten) mit einem Makro ausdrucken?
Mein Makro funktioniert so nicht, was muß ich ändern?

Gruß
fedjo

Sub Auswahl_Drucken()
Dim s%, e!, z!
'Spalte A:
s = 1
'Letzte Zeile mit Eintrag suchen:
e = Cells(Rows.Count, s).End(xlUp).Row
'Druckbereich festlegen:
ActiveSheet.PageSetup.PrintArea = "$A$4:$G$" & e
'Drucken:
ActiveSheet.PrintOut
'Druckbereich aufheben:
ActiveSheet.PageSetup.PrintArea = ""
If ActiveSheet.AutoFilterMode = True Then Selection.AutoFilter , Field:=1
Worksheets("V1").ScrollArea = "G4:G1500"
End Sub

11 Antworten

0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Halo Fedjo,

DU druckst bevor Du den Autofilter setzt.

Gruß Hajo
0 Punkte
Beantwortet von fedjo Experte (2.2k Punkte)
Hallo Hajo,
der Autofilter wird vorher schon durch eine Combobox gesetzt.

Gruß
fedjo
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo Fedjo,

ich schaue nicht auf fremde Rechner. Ich halte mich an das wa im Beitrag steht.

Gruß Hajo
0 Punkte
Beantwortet von coros Experte (4k Punkte)
Hallo fedjo

verrate uns doch mal, was an Deinem Makro nicht so ist, wie Du es Dir vorstellst? Aus Deiner Frage kann ich das nicht ersehen.

MfG,
Oliver
[sub]Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du[/sub]
[sup] ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.[/sup]
0 Punkte
Beantwortet von fedjo Experte (2.2k Punkte)
Hallo Oliver,
die Seite ist so aufgebaut:
Zeile 1 und Zeile2 Überschrift
Zeile 3 Autofilter ist ausgeblendet
Spalte D ist auch ausgeblendet

Die Tabelle wird durch die Auswahl in einer ComboBox gefiltert.
Range("A3:F3").AutoFilter Field:=3, Criteria1:=ComboBox2, VisibleDropDown:=False

Fehler: Wenn durch die Filterung auch nur eine Zeile angezeigt wird, werden immer drei Blätter ausgedruckt.
Erstes und zweites Blatt mit Zeile 1+ Zeile 2
Drittes Blatt mit Zeile 1+ Zeile 2 und den gefilterten Daten, wie es sein sollte.

Gruß
fedjo
0 Punkte
Beantwortet von coros Experte (4k Punkte)
Hallo fedjo,

kann ich nicht nachvollziehen, bei mir funktionierts. Daher bitte Deine Datei z.B. bei http://www.file-upload.net hochladen, damit man sich das in Deiner Datei ansehen kann.

MfG,
Oliver
[sub]Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du[/sub]
[sup] ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.[/sup]
0 Punkte
Beantwortet von fedjo Experte (2.2k Punkte)
Hallo Oliver,
ich habe jetzt eine Musterdatei erstellt.

Gruß
fedjo
0 Punkte
Beantwortet von coros Experte (4k Punkte)
Hallo fedjo,

das liegt allem Anschein nach an den Daten, die Du in Spalte O, P, Q und R ausgeblendet hast, die aber dennoch zu den Daten gehören, die sich auf die Druckblätter auswirken. Dann stehen Daten in den Zellen AA3 und AB3, die sich auch auf die Druckblätter auswirken.
Außerdem habe ich mal den Autofilter deaktiviert und wieder vernünftig gesetzt (nicht über Deinen VBA-Code) und dann werden die Daten auch vernünftig auf den Druckblättern angezeigt.

Du solltest Dir also mal den Aufbau usw. Deines Tabellenblatts überlegen, ob man diverse Daten eventuell in einer Art Hilfstabelle unterbringen kann.

MfG,
Oliver
[sub]Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du[/sub]
[sup] ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.[/sup]
0 Punkte
Beantwortet von fedjo Experte (2.2k Punkte)
Hallo Oliver,
erst mal Danke für deine Unterstützung.

Die Daten in Spalte O, P, Q und R und in den Zellen AA3 und AB3 sind noch Altlasten des Autofilters, die ich schon als Hilfstabelle zum Drucken verwendet habe, einfach vergessen zu Löschen.
Auch nach dem löschen der Daten werden noch drei Druckblätter erzeugt. Ich dachte es wäre möglich das Ergebnis eines Autofilters ohne Hilfstabelle zu Drucken.

Gruß
Fedjo
0 Punkte
Beantwortet von coros Experte (4k Punkte)
Hallo Fedjo,

es kann sein, dass sich in einer der Zellen noch irgendwo ein Leerzeichen oder so vorhanden ist. Das wird so gewertet, dass die Zelle nicht leer ist.
Kopiere doch einfach mal den Bereich A1:G702 und fügen die Daten in ein neues Blatt ein. Setze dann über den Bereich den Autofilter und Du wirst sehen, dass die Druckseiten ordnungsgemäß dargestellt werden. Somit befinden sich in dem alten Tabellenblatt noch irgendwo Daten. Die musst Du schon alleine suchen.

MfG,
Oliver
[sub]Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du[/sub]
[sup] ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.[/sup]
...