Live-Forum - Die aktuellen Beiträge
Datum
Titel
19.04.2024 12:23:24
19.04.2024 11:45:34
Anzeige
Archiv - Navigation
1656to1660
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

Tabelle nach Filtern drucken

Tabelle nach Filtern drucken
19.11.2018 05:48:08
Zisa
Hallo zusammen,
ich moechte gerne ein Makro schreiben, das automatisch jeweils auf eine Seite das Arbeitsblatt fuer einen Filter druckt.
Momentan wiederholt sich der folgende Code fuer jeden Kunden. Da es aber moeglich sein soll, staendig neue Kunden hinzuzufuegen/umzubenennen ohne das Makro anpassen zu muessen moechte ich dies aendern.
ActiveSheet.Unprotect
Selection.AutoFilter Field:=1, Criteria1:="Kunde 1"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Beim intensiven Suchen bin ich auf folgenden Link gestossen https://www.herber.de/mailing/Tabelle_nacheinander_filtern_und_drucken.htm
aber leider verstehe ich es nicht so ganz. Meine Excelkenntnisse sind ganz gut, aber ich bin ziemlich neu in VBA.
Die Spaltenueberschriften starten in Zeile 3. Der Filter ist in Spalte A (idealerweise sollte eigentlich sogar nach A und B gefiltert werden in Kombination aber ich kann auch einfach eine Hilfsspalte erstellen und die beiden Worte verketten, sodass dies dann als Filterspalte benutzt werden kann zum drucken)
Ich hoffe es ist verstaendlich. Ich freue mich ueber Loesungsvorschlaege.
https://www.herber.de/bbs/user/125473.xlsx
vielen Dank

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

Betreff
Datum
Anwender
Anzeige
AW: Tabelle nach Filtern drucken
19.11.2018 09:22:04
Luschi
Hallo Zisa,
die von Dir gepostete Lösungsmöglichkeit vom Herrn Herber hat leider einen kleinen Haken (zumindest in den von mir getesteten Excel-Versionen 2013/16/19).
Der verwendete Spezialfilter (AdvancedFilter) zur Ermittlung der vorhandenen Kunden löscht/entfernt den bereits vorhandenen Normal-Filter Deiner Tabelle.
Damit wirft diese Vba-Zeile 'Columns(1).AutoFilter Field:=1, Criteria1:=arr(iRow)' natürlich einen Fehler, denn es gibt den Filter nicht mehr.
Bin dran, kann aber noch bis Mittag dauern, da die Pflicht ruft!
Gruß von Luschi
aus klein-Paris
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Tabelle nach Filtern drucken
19.11.2018 22:55:21
Zisa
ahhh okay, ja genau, die fehlermeldung hatte ich naemlich auch!
Super vielen Dank, waere echt eine Riesenhilfe, dies zu loesen!!
AW: Tabelle nach Filtern drucken
20.11.2018 07:21:30
Luschi
Hallo Zisa,
hier mein Versuch, der klappt:

Sub FilternUndDrucken()
Dim rg1 As Range, rg2 As Range
Dim dict As Object   'Dictionary
Dim jRow As Long, k As Variant
Worksheets("Template").Select
On Error Resume Next
'alle eventuellen Filtereinstellungen löschen
ActiveSheet.ShowAllData
On Error GoTo 0
'Speichermodell, in dem jeder Schlüsselwert(Kundenname) nur einmal _
aufgenmommen wird
Set dict = CreateObject("Scripting.Dictionary")
'alle Zellen des Filters in der Spalte 'A'
Set rg1 = Worksheets("Template").AutoFilter.Range.Columns(1)
'Überschrift des Filters & leetzte leere Zelle (A52) ausschließen
Set rg1 = rg1.Cells(2, 1).Resize(rg1.Cells.Count - 2)
'alle Zelle durchlaufen
For Each rg2 In rg1.Cells
If rg2.Row >= 4 And rg2.Value  "" Then
dict(rg2.Value) = 0
End If
Next rg2
'Werte des Dictionaries durchlaufen
For Each k In dict.Keys
With Worksheets("Template")
'Filter setzen
.Range(.AutoFilter.Range.Address).AutoFilter Field:=1, Criteria1:=k
.PrintPreview
End With
Next k
Worksheets("Template").Range("A1").AutoFilter
'Objektvariablen zerstören
Set dict = Nothing: Set rg1 = Nothing: Set rg2 = Nothing
End Sub
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Tabelle nach Filtern drucken
21.11.2018 03:39:17
Zisa
Hi,
vielen lieben Dank!!!
Das scheint erstmal zu funktionieren, habe es gerade getestet.
Wenn ich die Print preview nicht will muss ich einfach ".PrintPreview" entfernen oder?
Gibt es sonst irgendetwas zu bedenken z.b. wenn ich neue Kunden hinzufuege oder die Datei kopiere usw.?
dankesehr :)
AW: Tabelle nach Filtern drucken
21.11.2018 03:51:38
Zisa
Hallo nochmal,
gerade getestet und statt print preview den Befehl ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True eingestellt.
Leider stimmt dann aber die Druckeinstellung nicht, sodass es mehr als Eine Seite ist und ausserdem auch die anderen Tabs noch mit ausgedruckt warden.
Wie kann ich das anpassen? Ich brauche quasi einmal Eine Version des makros mit print preview und einmal ohne… Entschuldigung, das Ganze ist noch ein bisschen Neuland fuer mich.
vielen Dank schon mal !!
Anzeige

199 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige