Serienbrief mit Artikelliste
#1
Hallo zusammen,

bin mir nicht ganz sicher, in welche Kategorie mein Problem am besten passt, aber mit Excel hat es auf jeden Fall zu tun:

Ich habe eine Tabelle mit einer Liste von Artikeln.
In der ersten Spalte ist die Kundennummer des Kunden, dem der Artikel zugeordnet ist. 1 Zeile entspricht 1 Artikel.
Pro Kundennummer können das zwischen 1 und ca. 100 Artikeln sein.

Nun möchte ich einen Serienbrief erstellen und in jedem Brief alle Artikel auflisten, die zu dieser Kundennummer gehören.
Aufgrund der unterschiedlichen Anzahl an Artikeln pro Kundennummer gelingt es mir aber nicht, das mit normalen Serienbrieffunktionen zu lösen.
Auch aus Excel heraus fehlt mir eine Idee, wie ich aus einem "Datensatz" (=alle Artikel einer Kundennummer) ein optisch ansprechendes Schreiben erzeugen kann.

Bin gerade ziemlich am Verzweifeln... Huh 

...und daher für jeden Hinweis dankbar! :98:
Top
#2
Moin,
ich denke, dass das ein Word-Problem ist (und dort gelöst werden kann).
Alternativ kannst du mit Power Query recht einfach von deiner Liste für jeden Kunden ein getrenntes Arbeitsblatt erstellen und dann beispielsweise Word nutzen.
Oder du schreibst ein Makro, wo je Kunde 1 Excel-Zeile erzeugt wird, wo jeder Artikel durch einen Zeilenumbruch (Zeichen 10) und vom nächsten getrennt ist. Das ist imho die sicherste Methode.
Beste Grüße
  Günther

Excel-ist-sexy.de
  …schau doch mal rein!
Der Sicherheit meiner Daten wegen lade ich keine *.xlsm bzw. *.xlsb- Files mehr herunter! -> So geht's ohne!
Top
#3
Hallo FredPop
Mein Lösungsvorschlag geht davon aus, dass du
1. die Seriendruck Funktion von Word im Standard einsetzen willst und du bereits Grundkenntnisse dazu besitzt.
    D.h. du kannst einen Serienbrief erstellen, bei dem ein xls File verarbeitet wird, wobei pro Brief nur eine xls Zeile
    verarbeitet wird.
2. bereit bist, in deiner xls Datei Hilfsspalten einzubauen.
Grundproblem:
So wie ich die Seriendruck Funktion im Word seit Jahren kennen gelernt habe, macht Word pro xls Datenzeile einen Brief. Daraus folgt, dass du für jede Zeile in deinem xls einen Brief bekommst. Wenn nun ein Kunde mehrere Produkte bezogen hat, dann gibt's mehrere Briefe. Da du das aber nicht willst, ist mein

Vorschlag:
Sorge dafür, dass alle Produkte eines Kunden untereinander in einer Zelle stehen und drucke nur diese Zeilen:

Beispiel Datei
Spalte       A           B                     
Zeile        
1              Kdnr      Artikel
2              111       Schappi             
3              111       Knochen 
4              111       Wassernapf
5              222       Schappi
6              333       Wassernapf

Vorgehen:
1. Sortiere die Artikeldatei nach Kunden
2. Füge rechts 2 neue Hilfsspalten ein
   Inhalt 1. Hilfspalte (hier C):
                                 In C2 schreibe:    =WENN(A2=A1;B1&ZEICHEN(10)&B2;B2)
                                 Erläuterung der Formel:
                                 Wenn in A2 der gleiche Wert wie in A1 steht, dann ist es immer noch der gleiche Kunde
                                 In dem Fall Nimm den / die Artikel aus B1, mache eine neue Zeile und
                                 hänge den Artikel aus B2 an.
                                 Kopiere die Formel nach unten durch.   
                                 In der ltz. Zelle eines Kunden sind also alle Artikel untereinander aufgeführt
                                 Jetzt musst du dafür sorgen, dass nur immer die ltz. Zeile pro Kunde gedruckt wird.
                                 Um dies zu erkennen brauchst du die 2. Hilfsspalte (in meinem Beispiel D)

   Inhalt 2. Hilfsspalte (hier D):
                                 Gehe an die ltz. Zeile deiner Liste und schreibe in die Zelle der D Spalte:
                                  =WENN(A6=A7;"";"Neu")
                                  Erläuterung der Formel:
                                  Da du immer die ltz. Zeile des Kunden brauchst, musst du quasi die Liste von unten nach 
                                  oben durcharbeiten und immer den Wechsel suchen.

                                  Du vergleichst also die ltz. Kdnr mit der ersten leeren Zelle.

                                  Wenn diese ungleich sind, dann hast du die ltz. Zeile des Kunden xy erwischt:
                                  dann schreibe "NEu" in die Hilfszelle
                                  wenn nicht dann mache blank in die Hilfszelle
                                  Ergebnis:   Immer die ltz. Zeile eines Kunden erhält den Wert Neu in die Hilfsspalte.

Jetzt ist es leicht in der Serienbrief Funktion nur die Zeilen mit "Neu" drucken zu lassen.

Über feed-back würde ich mich freuen

Gruß Thomas
Top
#4
Hi,

der Ansatz mit dem CHAR(10) [ich habe ein englisches Office] scheint zu funktionieren. Ich habe mir in der Hilfsspalte (hier C) gleich mehrere Informationen zusammenkopiert, die dann Zeile für Zeile angehängt werden.
Der erste Ansatz war, die einzelnen Infos mittels CHAR(8), also TAB, zu trennen, aber das wurde im Word nur als Leerzeichen dargestellt.
Im Moment habe ich etwas "Fülltext" um die einzelnen Infos gebaut, damit kann ich leben. Formatierung einzelner Infos (z.B. Artikelnummer in bold) scheint nicht möglich zu sein.

Aber auf jeden Fall endlich mal etwas, was funktioniert.
Ich hatte es zwischenzeitlich auch schon mit VBA versucht, aber da sind meine Kenntnisse zu sehr eingerostet, sofern sie überhaupt mal vorhanden waren... Wink

Werde damit jetzt weiter machen, schaut gut aus.

1000 Dank schonmal!!! Thumbsupsmileyanim
Top
#5
Habe jetzt nur noch ein Problem mit den Seitenzahlen (siehe hier), der Rest schaut schon ganz gut aus.
Danke nochmal!
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste