Anzeige
Archiv - Navigation
1348to1352
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

Zeilen für Druckoptimierten Seriendruck aufbereite

Zeilen für Druckoptimierten Seriendruck aufbereite
20.02.2014 22:16:19
Ralf
Hallo Miteinander,
Jetzt wirds kompliziert.
Ich habe folgendes Problem:
Ich muss öfters Daten aus einer Exceltabelle als Serienbrief in Word drucken.
Je nach Aufgabe muss ich 2,3 oder 4 Nuten je A4 Blatt drucken.
Da die ausgedruckten Seiten (z.T. mehrere Tausend Blatt)nach dem Schneiden über eine große Schneidemaschine in der richtigen reihenfolge angeordnet sein sollen (Z.B bei 1000 Datensätzen soll der 1. links oben, der 251. rechts oben, der 501 links unten und der 751 links unten und auf dem 2. Blatt genau einen Datensatz erhöht).
Ich habe bisher die anzahl der Datensätze (ohne Titel) durch 4 geteilt und die jeweiligen Daten von weiter unten in der Tabelle in die jeweiligen Zellen kopiert.
Das heißt z.B. In A2 Bis D2 steht der 1. Datensatz, in E2 bis H2 der 251, in I2 bis L2 der 501 und von M2 bis P2 der 701. usw.in Zeile 3 bis 251.
Im Serienbriefdokument drucke ich dann quasi pro Blatt die benötigten Daten.
Diese Vorbereitung ist relativ müsig.
Meine Idee:
Wäre es nicht möglich mit einem Makro die Anzahl der Datenzeilen festzustellen (Ohne Titelzeile)und dann je nachdem ob man 2,3, oder 4 wählt die Zeilen entsprechend kopieren.
Beispiel bei gewählten 3 Ntz. und 900 Daten müsste nach Zeile 2 die Ursprüngliche 301 und nach dieser die 601 kommen. Dann die ursprüngliche 3, 302, 602 usw.
Ist etwas schlecht zu erklären. Wenn mir trotzdem jemand eine Lösung hätte, wäre mir sehr geholfen.
Vielen Dank schonmal im Voraus
Ralf

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

Betreff
Datum
Anwender
Anzeige
AW: Zeilen für Druckoptimierten Seriendruck aufbereite
21.02.2014 22:38:31
Ralf
Wenn ich mir durchlese, was ich da geschrieben habe wundere ich mich nicht, dass niemand eine Antwort für mich parat hat. Lässt sich aber auch schlecht beschreiben.
Würde mich aber trotzdem interessieren ob es an der Beschreibung liegt oder das nicht möglich ist.
Gruß Ralf

AW: Zeilen für Druckoptimierten Seriendruck aufbereite
25.02.2014 16:38:28
fcs
Hallo Ralf,
es lag ein wenig an der Beschreibung.
Eine Beispieldatei mit vorher/nachher wäre hier hilfreich gewesen.
Gruß
Franz
Sub Umgruppieren_fuer_Serienbrief()
Dim Anzahl As Variant, Zeile1 As Long, ZeileL As Long, AnzZeilen As Long
Dim Spalte As Long, intJ As Integer
Dim wks As Worksheet
Anzahl = Application.InputBox(Prompt:="Anzahl Nuten (2, 3 oder 4)", _
Title:="Daten für Serienbrief aufbereiten", _
Default:=3, Type:=1)
If Anzahl = False Then Exit Sub
Select Case Anzahl
Case 2 To 4
Set wks = ActiveSheet
With wks
Zeile1 = 2
Spalte = 1
ZeileL = .Cells(.Rows.Count, 1).End(xlUp).Row
If (ZeileL - Zeile1 + 1) Mod Anzahl = 0 Then
AnzZeilen = (ZeileL - Zeile1 + 1) / Anzahl
Else
AnzZeilen = Int((ZeileL - Zeile1 + 1) / Anzahl) + 1
End If
For intJ = 2 To Anzahl
.Range(.Cells(Zeile1 + (intJ - 1) * AnzZeilen, 1), _
.Cells(Zeile1 + intJ * AnzZeilen - 1, 4)).Cut _
Destination:=.Cells(Zeile1, Spalte + (intJ - 1) * 4)
Next
End With
Case Else
MsgBox "Unzulässiger Eingabewert", vbOKOnly, "Daten für Serienbrief aufbereiten"
End Select
End Sub

Anzeige
AW: Zeilen für Druckoptimierten Seriendruck aufbereite
25.02.2014 19:41:05
Ralf
Hallo Franz,
vielen Dank für deine Antwort.
Habe mal ein Beispiel hochgeladen:
https://www.herber.de/bbs/user/89427.xls
Ausgrund der Größenbeschränkung hier habe ich nur ein 2 Ntz. Beispiel mit 20 Daten genammen.
Dies können auch wesentlich mehr Zeilen sein. Die Zahl der Spalten schwankt zwar auch, dürfte aber keine Rolle spielen, da ja die gesamte Zeile umsortiert werden soll.
Ich hoffe, du kannst jetzt nachvollziehen was ich meinte und mir vieleicht helfen.
Solche Listen muss ich ständig aufbereiten und könnte mir jede Menge unnötige Arbeit ersparen.
Danke schonmal.....
Ralf

Anzeige
AW: Zeilen für Druckoptimierten Seriendruck aufbereite
26.02.2014 06:02:17
fcs
Hallo Ralf,
hier ein angepasstes Makro, das die Daten in die neue Reihenfolge umsortiert.
Dazu wird in einer Hilfspalte die neue Zeilenumer eingetragen und dann neu sortiert.
Gruß
Franz
Sub Umgruppieren_fuer_Serienbrief()
Dim Anzahl As Variant, Zeile1 As Long, ZeileL As Long, AnzZeilen As Long
Dim Zeile As Long, ZeileNeu As Long, ZeileT As Long
Dim Spalte As Long, intJ As Integer
Dim wks As Worksheet
Anzahl = Application.InputBox(Prompt:="Anzahl Nuten (2, 3 oder 4)", _
Title:="Daten für Serienbrief aufbereiten", _
Default:=3, Type:=1)
If Anzahl = False Then Exit Sub
Select Case Anzahl
Case 2 To 4
Application.ScreenUpdating = False
Set wks = ActiveSheet        'Name anpassen
With wks
ZeileT = 1 'Zeile mit Spaltentiteln
Zeile1 = ZeileT + 1        'Zeile im Original ab der umgruppiert werden soll
'nächste freie Spalte für Hilfswert
Spalte = .Cells(ZeileT, .Columns.Count).End(xlToLeft).Column + 1
'Letzte Datenzeile
ZeileL = .Cells(.Rows.Count, 1).End(xlUp).Row
'Anzahl Zeilen pro Block/Nut ermitteln
If (ZeileL - Zeile1 + 1) Mod Anzahl = 0 Then
AnzZeilen = (ZeileL - Zeile1 + 1) / Anzahl
Else
AnzZeilen = Int((ZeileL - Zeile1 + 1) / Anzahl) + 1
End If
'Neue Zeilennummern in Hilfs-Spalte eintragen
ZeileNeu = ZeileT
For Zeile = Zeile1 To (Zeile1 + AnzZeilen - 1)
For intJ = 1 To Anzahl
ZeileNeu = ZeileNeu + 1
.Cells(Zeile + (intJ - 1) * AnzZeilen, Spalte).Value = ZeileNeu
'frei bleibende Zeilen markieren
If (Zeile + (intJ - 1) * AnzZeilen) > ZeileL Then
.Cells(Zeile + (intJ - 1) * AnzZeilen, 1) = "leer"
End If
Next
Next
'Daten nach Hilfspalte sortieren
ZeileL = .Cells(.Rows.Count, Spalte).End(xlUp).Row
With .Range(.Rows(ZeileT), .Rows(ZeileL))
.Sort key1:=.Cells(1, Spalte), Order1:=xlAscending, Header:=xlYes
End With
.Columns(Spalte).Clear 'Hilfsspalte wieder löschen
End With
Application.ScreenUpdating = True
Case Else
MsgBox "Unzulässiger Eingabewert", vbOKOnly, "Daten für Serienbrief aufbereiten"
End Select
End Sub

Anzeige
AW: Zeilen für Druckoptimierten Seriendruck aufbereite
26.02.2014 19:49:19
Ralf
Hallo Franz,
vielen vielen Dank...
funktioniert perfekt. Erspart mir wirklich viel Arbeit.
Dafür wäre eigentlich ein Virtuellse Bier Fällig. Ist ja nicht das ertse Mal, dass du geholfen hast. Und ich muss sagen, dass du es immer auf den Punkt bringst. Perfekt
Danke nochmals von
Ralf

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige