Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1848to1852
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

Nach Änderung des Wertes in Spalte AA ei

Nach Änderung des Wertes in Spalte AA ei
08.10.2021 17:24:02
Stefan
ActiveSheet.Name = "Datei für Etikettendruck"
Das Ausdrucken der Anschriftenaufkleber über Word funktioniert jetzt prima.
Unsere Mitgliederzeitschrift wird je Bezirk von einem Mitglied ausgetragen, deshalb hätte ich gerne noch eine Liste je Bezirk ausgedruckt.
Der Druckauftrag sollte nach je Bezirk (in Spalte AA) eine neue Seite drucken
Bisher habe ich dies mit dem Autofilter gemacht und dann die Liste jeweils pro Bezirk ausgedruckt. Ist etwas mühsam bei 38 Bezirken.
Gibt es da eine Möglichkeit mit einem Code.
MfG Stefan

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nach Änderung des Wertes in Spalte AA ei
08.10.2021 19:05:07
Nepumuk
Hallo Stefan,
hat die Spalte eine Überschrift? Wenn ja, in welcher Zeile?
Gruß
Nepumuk
AW: Nach Änderung des Wertes in Spalte AA ei
08.10.2021 20:20:32
Stefan
Hallo Nepumuk.
die Spalter hat die Überschrift Verteilerbezirk und steht in der 1. Zeile.
Gruß Stefan
AW: Nach Änderung des Wertes in Spalte AA ei
08.10.2021 20:35:17
Nepumuk
Hallo Stefan,
in ein Standardmodul (Menüleiste im VBA-Editor - Einfügen - Modul):

Option Explicit
Public Sub VerteilerlisteDrucken()
Dim avntValues As Variant, vntItem As Variant
Dim objDictionary As Object
With Worksheets("Datei für Etikettendruck")
avntValues = .Range(.Cells(2, 1), .Cells(.Rows.Count, 1).End(xlUp)).Value2
Set objDictionary = CreateObject(Class:="Scripting.Dictionary")
With objDictionary
For Each vntItem In avntValues
.Item(Key:=vntItem) = vbNullString
Next
End With
If .AutoFilterMode Then Call .AutoFilter.ShowAllData
For Each vntItem In objDictionary.Keys
Call .Rows(1).AutoFilter(Field:=1, Criteria1:=vntItem)
Call .PrintOut
Next
Call .ShowAllData
End With
Set objDictionary = Nothing
End Sub
Gruß
Nepumuk
Anzeige
AW: Nach Änderung des Wertes in Spalte AA ei
09.10.2021 18:00:04
Stefan
Hallo Nepumuk,
vielen Dank für deine schnelle Hilfe. Leider funktioniert es so noch nicht. Möglicherweise mach ich etwas falsch. Ich lade mal die anonymisierte Datei hoch. Bin Persionär und habe in VBA nur rudimentäre Kenntnisse. Die Datei für Etikettendruck wird über ein Makro erstellt. Aus dieser Datei soll also eine Liste pro Verteilerbezirk ausgeruckt werden (derzeit sind es 32 Verteilerbezirke).
Noch eine Bitte: Die Liste soll nur Name, Vorname, Straße und Ort enthalten. Gruß Stefan
https://www.herber.de/bbs/user/148529.xlsm
Anzeige
Verteiler-Liste erstellen u. drucken
10.10.2021 21:24:49
Peter
Hallo Stefan,
ich habe mal eine Lösung zu Deinem Problem erarbeitet. Das Arbeitsblatt "Mitglieder-Datei" musste ich umbenennen in "Mitglieder_Datei", da sich Excel an dem Minuszeichen stört. Auf dem Blatt habe ich einen weiteren Button eingerichtet: "Verteilerliste erstellen". Mit dem Klick darauf wird - falls vorhanden - die bisher vorhandene Verteilerliste gelöscht und eine neue erzeugt. Dabei werden die Inhalte aus dem Blatt "Mitglieder_Datei" herauskopiert und nach Bezirk, Ort, Straße und Haus-Nr. sortiert. Mit Hilfe der Excel-Funktion "Teilergebnisse" (unter der Rubrik "Daten") wird die Trennung zwischen den Bezirken (Blattwechsel) vollzogen. Zu jedem Blatt wird der Bezirk anschließend als weitere Überschrift hinzugefügt. Danach erfolgt die Druckaufbereitung, die mit dem Button "Ausdrucken, Druck anzeigen" ausgelöst wird. Im Moment ist die Druckanzeige voreingestellt. Man kann auch direkt drucken; vergl. hierzu die Befehle am Ende im Makro 3 (Modul4).
https://www.herber.de/bbs/user/148539.xlsm
Bitte mal ausprobieren. Bei Rückfragen einfach noch mal melden. Rückmeldung wäre schön.
Mit freundlichem Gruß
Peter Kloßek
Anzeige
AW: Verteiler-Liste erstellen u. drucken
11.10.2021 08:12:12
Peter
Hallo Stefan,
hatte die Einrichtung der Spaltenbreite bei meinem ersten Post versäumt. Hier die berichtigte Ausführung.
https://www.herber.de/bbs/user/148541.xlsm
M.f.G. Peter Kloßek
AW: Verteiler-Liste erstellen u. drucken
11.10.2021 19:13:42
Stefan
Hallo Peter, ich bin total überrascht über deine großartige Hilfe. Das war ja bestimmt eine Heiden-Arbeit. Vielen Dank. Das ist genau das, was wir brauchen. Dein Code ist für mich noch etwas zu kompliziert.
Die Ergebnisse kann ich jeweils auf dem Bildschirm sehen. Beim Ausdrucken kommt jedoch eine Fehlermeldung Application.PrintCommunication = True
Noch eine Bitte, die Spalten Titel und Stadtteil sind für die Liste unerheblich. Kannst du diese Spalten entfernen, damit der Ausdruck auf eine Seite passt? Nochmals vielen Dank für deine umfangreiche Hilfe. MfG Stefan
Anzeige
AW: Verteiler-Liste erstellen u. drucken
12.10.2021 01:18:13
Peter
Hallo Stefan,
bitte ergänze die beiden "Columns"-Anweisungen am Ende von dem Makro2.
End With
Columns("B").Hidden = True
Columns("G").Hidden = True
Range("a1").Select
End Sub
Wegen des aufgetretenen Fehlers "Application.PrintCommunication" solltest Du einfach alle diese Befehle mit einem vorangestellten " ' " (wie nach "End With" dargestellt) herausnehmen. Du kannst diese Befehle auch herauslöschen. In der Zeile darunter habe ich "Preview" durch "Out" für sofortiges Drucken ersetzt.
Mit dem Zoom kannst Du den Ausdruck verkleinern (60). Die nachfolgende Darstellung zeigt das Ende vom Makro3.
.Zoom = 60
.ScaleWithDocHeaderFooter = True
.AlignMarginsHeaderFooter = True
End With
'Application.PrintCommunication = True
ActiveWindow.SelectedSheets.PrintOut 'Preview bzw. PrintOut - Copies:=1, Collate:=True, _
'IgnorePrintAreas:=False
Range("a1").Select
End Sub
M.f.G. Peter Kloßek
Anzeige
AW: Verteiler-Liste erstellen u. drucken
12.10.2021 09:50:26
Peter
Hallo Stefan,
wie das so läuft: Hat man einen Fehler behoben, erscheint daraufhin ein neuer. Wenn man den Befehl "Application.PrintCommunication = True" weglässt, erscheint die Seitenzahl nicht mehr. Um diesen Fehler zu beheben, bei der Zeile ".CenterFooter = "Seite &S"" das S ändern in P.
'Application.PrintCommunication = True
ActiveSheet.PageSetup.PrintArea = (DruBer)
'Application.PrintCommunication = False
With ActiveSheet.PageSetup
.CenterFooter = "Seite &P"
Ich benutze Excel 2016. Mit dem Excel 2019 wurden offenbar einige Änderungen gemacht, so dass es bei Dir zu diesen Fehlern kam.
M.f.G. Peter Kloßek
Anzeige
AW: Verteiler-Liste erstellen u. drucken
12.10.2021 15:40:26
Stefan
Hallo Peter, das Makro läuft jetzt super. Ich bin ganz happy.
Noch eine kleine Bitte: wo baue ich den Befehl .EntireColumn.AutoFit ein, damit die Angaben in den Zellen nicht abgeschnitten werden.
Herzlichen Gruß und einen schönen Tag. Stefan Hoffer
AW: Verteiler-Liste erstellen u. drucken
12.10.2021 16:15:22
Peter
Hallo Stefan,
den Auto-Fit-Befehl solltest Du in den Makro2 hinter den Spaltenbreiten-Definitionen einfügen.
End With
Columns("A:A").ColumnWidth = 7.57
Columns("B:B").ColumnWidth = 12.86
Columns("C:C").ColumnWidth = 20.29
Columns("D:D").ColumnWidth = 23.43
Columns("E:E").ColumnWidth = 9.94
Columns("F:F").ColumnWidth = 26.86
Columns("G:G").ColumnWidth = 12.71
Columns("H:H").ColumnWidth = 24.43
Columns("I:I").ColumnWidth = 5.29
ActiveSheet.Columns("B:I").AutoFit (diesen Befehl einfügen).
Du kannst aber auch die dort vorhandenen Spaltenbreiten ändern. Bei dem Auto-Fit verändern sich je nach der Eintragung laufend die Spaltenbreiten, was im Zeitablauf zu einem uneinheitlichen Druckbild führt. Ich selbst bin davon kein Freund.
M.f.G. Peter Kloßek
Anzeige
AW: Verteiler-Liste erstellen u. drucken
12.10.2021 19:46:31
Stefan
Hallo Peter, Nochmal vielen Dank für deine Mühe und sofortige Hilfe. Es läuft jetzt alles super. Alles Gute! MfG Stefan Hoiffer

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige