PDA

Vollständige Version anzeigen : Gruppierter Serienbrief tabellarisch Dargestellt


Frokuss
02.10.2019, 19:36
Hallo Leute,

ich habe die Tage viel gegoogelt und bin da auf viele Probleme gestoßen. Z.B. das gruppierte Serienbriefe nicht mit einer Tabelle funktionieren... Allerdings habe ich eine Lösung erarbeitet, mit es doch geht. Dies wollte ich euch einfach mal vorstellen :-)

Anmerkung:
Aktuell schlage ich mich noch mit Folgenden rum, was aber an dem Gedanken des Vorgehens eigentlich nichts ändern dürfte:
https://www.ms-office-forum.net/forum/showthread.php?t=362816

Ziel: Mehrere Positionen zu einem Clienten/Kunden (wie. z.B: bestellte Artikel) in einem Brief in einer Tabelle strukturiert ausgeben.

1.) Excel:
1.1) Jeder Datensatz bekommt eine Auftragsnummer so, dass mehrere Artikel jeweils die gleiche Nummer haben (können).
1.2) Eine Spalte (z.B. Anzahl), in der ich zähle, wie häufig die Auftragsnummer vorkommt. (Wenn die Nummer in Spalte A steht: =Zählenwenns(A:A;A2))

2.) Word (nur der Tabellenbereich):
2.1) Tabelle nach Bedarf anlegen
2.2) Erste Zeile für die Überschriften freihalten
2.3.1) In die zweite Zeile ganz normal die Serienbreif-Felder einfügen
2.3.2) In der letzen Zelle der Zeile nach dem Feld folgendes Einsetzen:
{ SET myCounter 1 }
{ NEXTIF myCounter < { MERGEFIELD Anzahl } }
Hiermit fange ich an meine Datensätze in Word zu zählen, bzw. ihn erst einmal auf 1 zu setzen und wenn es mehr als einen Datensatz gibt, wird der nächste Datensatz "ausgewählt"...
2.4.1) Ab der dritten Zeile (2te Datensatz) muss jede einzelne Ausgabe geprüft werden. Dafür wird geprüft, ob die in Word gezählte Anzahl noch kleiner ist, als die in Excel (1.2) gezählte Anzahl ist. Nur dann, wird ein Datensatz angezeigt. (Ist die Anzahl erreicht würde sonst immer der letzte Datensatz angezeigt weden...)
Zelle 1/n:
{ IF myCounter < { MERGEFIELD Anzahl } "z.B: Artikelnummer" "" }
Zelle n/n:
{ IF myCounter < { MERGEFIELD Anzahl } "z.B: Preis" "" }
2.4.2) Wie in 2.3 ist die letze Zelle etwas anders. Auch hier wird nach dem 2.4.1 Inhalt folgendes hinten dran gefügt:
{ SET myCounter { = myCounter + 1 } }
{ NEXTIF myCounter < { MERGEFIELD Anzahl } }
2.5 Mit jeder Zeile so vorgehen wie unter 2.4 ;-)

Und dann müsste das ganze stehen. Wenn jemanden die leeren Tabellenzellen stören, so könnten er den Rahmen auch entfernen... Bei mir stören sie allerdings nicht.

Gruß Frokuss