Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1876to1880
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

Seriendruck

Seriendruck
08.04.2022 16:29:29
Ron
Hallo,
ich habe in einem Tabellenblatt die Daten und in zwei weiteren Tabellenblätter die Formulare dazu (sieh Datei).
Wie kann ich einen Seriendruck einrichten?
Excel soll prüfen ob ein Name vorhanden ist, das richtige Formular befüllen und drucken. Und das für jeden Namen mit dem richtigen Formular.
Kann Jemand helfen?
Gruß
https://www.herber.de/bbs/user/152350.xlsx

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

Betreff
Datum
Anwender
Anzeige
AW: Seriendruck
08.04.2022 17:01:05
ralf_b
nutze die Seriendruckfunktionalität von Office.
Die Daten für Formular 1 und 2 können in den selben Spalten stehen, da du eine eigene Spalte für die Formularnummer zur Unterscheidung hast.
Sind die Formulare tatsächlich identisch? Wozu dann zwei Formulare?
AW: Seriendruck
08.04.2022 18:32:27
Ron
Die Formulare sind natürlich nicht identisch. Auch liegen die zu füllenden Zellen nicht unbedingt nebeneinander oder untereinander.
AW: Seriendruck
08.04.2022 17:08:17
UweD
Hallo
versuch mal

Sub drucken()
Dim TB As Worksheet, Arr, LR As Integer, i As Integer
Dim Z1 As Integer, Sp As Integer, BL As Integer
Set TB = Sheets("Tabelle1")
Arr = Array("Formular 1", "Formular 2") 'Vorlagen
Sp = 7 'Spalte G
Z1 = 3 'Daten ab Zeile
LR = TB.Cells(TB.Rows.Count, Sp).End(xlUp).Row 'letzte Zeile der Spalte
For i = Z1 To LR
BL = TB.Cells(i, Sp) - 1 ' Zielblatt aus Array (beginnt mit 0)
'Reset
Sheets(Arr(BL)).Columns(2).ClearContents
With Sheets(Arr(BL)).Cells(1, 2)
.Offset(2).Resize(5, 1).Value = WorksheetFunction.Transpose(TB.Cells(i, 2).Resize(1, 5)) '1. Block
.Offset(8).Resize(3, 1).Value = WorksheetFunction.Transpose(TB.Cells(i, 8 + BL * 3).Resize(1, 3)) '2. Block
End With
Sheets(Arr(BL)).PrintOut
Next
End Sub
LG UweD
Anzeige
AW: Seriendruck
08.04.2022 18:50:48
Ron
Hallo Uwe,
danke für die schnelle Zuarbeit.
Die Datenerfassung erfolgt immer im Format der Tabelle 1(Name, Anschrift, Daten...).
Die Ausgabe der Daten erfolgt nicht immer nebeneinander oder untereineinder in den Formularen.
Ich müsste sozusagen für jedes Formular jedem Datensatz die richtige Zelle zuweisen.
Die Formulare sind nicht gleich (so wie im Muster).
Gruß
AW: Seriendruck
08.04.2022 17:33:12
KlausFz
Hallo Ron,
hier mal ein konventioneller VBA-Code.
https://www.herber.de/bbs/user/152355.xlsm
Den Kern davon könntest Du mit dem Makro-Recorder selbst erzeugen.
Dann eine Schleife drumlegen, um die Zeilen von 3 bis ... abzuarbeiten.
Die hier nützliche Adressierung mittels Cells kennst Du jetzt.
Variablen deklarieren.
Fertig!
So einfach ist Excel ;-)))
(Fürs nächste Mal)
Gruß!
Klaus
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige