Serienbrief an Familien nur 1 Ausdruck

Hallo,

ich möchte mit Word 2000 einen Serienbrief an ca. 200 Personen erstellen. Die Daten sind in einer Excel-Tabelle hintelegt.
Nun ist es so, daß da von einer Familie bis zu 5 Personen dabei sind. Ich möchte jetzt nicht für jedes einzelne Familienmitglied einen Ausdruck erstellen, sondern an alle nur 1 Ausdruck verschicken.

Also z.B. in der Anschrift:

Mustermann Max und Erika und
Florian und Bettina und Sven
Straße
Ort

und dann natürlich der nomale Text.

Wenn es jetzt nur ein einzelne Person ist, dann so:

Mustermann Max
Straße
Ort

Wie kann ich das am besten in Word bzw. in der Excel-Tabelle bewerkstelligen?

Danke schon mal und schönes neues Jahr

Gruß Schäkel

Hi schäkel,

so einfach beantworten kann man das nicht. Wie sehen die Adressen in Excel aus? Kannst Du eine Beispielmappe hochladen bzw. die Tabellenstruktur hier veröffentlichen — bitte den pre-Tag verwenden?

M.

Also mit dem pre-Tag kenne ich mich nicht so aus.
Deswegen mal einfach erklärt:

Excel-Tabelle:
Spalte A: Nachname
Spalte B: Vorname
Spalte C: Straße
Spalte D: Wohnort

Alle Personen stehen fortlaufend in je einer Zeile untereinander. Bei Familien ist nur Eintrag in Spalte B unterschiedlich, alles andere gleich.

Nun ist es so, daß da von einer Familie bis zu 5 Personen
dabei sind. Ich möchte jetzt nicht für jedes einzelne
Familienmitglied einen Ausdruck erstellen, sondern an alle nur
1 Ausdruck verschicken.
Mustermann Max und Erika und
Florian und Bettina und Sven
Straße
Ort

Hallo Schäkel,

in Excel, Alt+F11, Einfügen—Modul, nachstehenden Code reinkopieren, die beiden Blattnamen anpassen, VB-Editor schließen.
Makro in Excel ausführen lassen über Alt+F8…

Soll das dann lange Anschriftsfeld (vorname) umgebrochen werden?
Nach wievielen Zeichen?

Gruß
Reinhard

Option Explicit
'
Sub Seriendruck()
Dim Zei1 As Long, Zei2 As Long, wks1 As Worksheet, wks2 As Worksheet
Set wks1 = Worksheets("Tabelle1") 'Originaltabelle
Set wks2 = Worksheets("Tabelle2") 'Seriendrucktabelle
wks2.UsedRange.ClearContents
Application.ScreenUpdating = False
With wks1
 .Range("A1:smiley:1").Copy Destination:=wks2.Range("A1")
 Zei2 = 1
 For Zei1 = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
 Zei2 = Zei2 + 1
 .Range(.Cells(Zei1, 1), .Cells(Zei1, 4)).Copy Destination:=wks2.Cells(Zei2, 1)
 While .Cells(Zei1, 1).Value = .Cells(Zei1 + 1, 1).Value
 Zei1 = Zei1 + 1
 wks2.Cells(Zei2, 2).Value = wks2.Cells(Zei2, 2).Value & " und " & .Cells(Zei1, 2).Value
 Wend
 Next Zei1
End With
Application.ScreenUpdating = True
End Sub

Hallo schäkel,

Also mit dem pre-Tag kenne ich mich nicht so aus.

Es gilt für diese Internetseite wer-weiss-was.de.
Du schreibst Deinen Text ganz normal in die Antwort. Was wie Computerschrift aussehen soll (und wo die Leerzeichen am Zeilenanfang erhalten bleiben sollen), markierst Du. Dann klickst Du auf das grau hinterlegte PRE (direkt über dem Eingabefeld, in das Du Deine Antwort schreibst). Dann wird die Markierung von zwei sog. Tags umschlossen und anders dargestellt, nämlich so:

Excel-Tabelle:
Spalte A: Nachname
Spalte B: Vorname
Spalte C: Straße
Spalte D: Wohnort

Wegen der Schrift erleichtert das das Lesen ungemein.

Alle Personen stehen fortlaufend in je einer Zeile untereinander. Bei Familien ist nur Eintrag in Spalte B unterschiedlich, alles andere gleich.

Kann es nicht vorkommen, daß
a) zwei Personen gleiche Nachnamen, aber ungleiche Anschriften
b) ungleiche Nachnamen, aber gleiche Anschriften
haben? Das wäre in jeder normalen Datenbank abzufangen — bei Dir nicht?

Gruß

Markus

Danke schon mal für die Antworten!

Ich muß jetzt zugeben, daß ich nicht der Fachmann für Makros usw. bin.
Ich weiß jetzt nicht, wie das gehen soll.
Was ich da jetzt nicht verstehe, was hat es da mit dem zweiten Tabellenblatt auf sich? Eine Kopie vom ersten? Oder wird nach Makroausführung ein zweites Tabellenblatt erzeugt?

Sorry nochmal, vielleicht gibt es eine einfache Erklärung für so Dummies wie mich?

Hallo Schäkel,

Was ich da jetzt nicht verstehe, was hat es da mit dem zweiten
Tabellenblatt auf sich? Eine Kopie vom ersten?

in gewisser Weise ja, aber gefiltert/gewandelt, aus
Mustermann Max
Mustermann Silke
Mustermann Heinz

wird dann
Mustermann Max und Silke und Heinz

Oder wird nach
Makroausführung ein zweites Tabellenblatt erzeugt?

Ginge auch, sehe da aber keine Notwendigkeit dafür.

Du mußt doch nur das makro laufen lassen, dann Tabelle2 als Datenquelle für deinen Serienbrief nehmen.

Gruß
Reinhard

Hallo Reinhard,

irgendwas läuft da nicht richtig. Wenn ich das Makro ausführe, bleibt es bei folgender Zeile stehen:

Set wks2 = Worksheets(„Tabelle2“) 'Seriendrucktabelle

diese Zeile ist gelb hinterlegt und das Makro geht nicht weiter.

Wie gesagt, ich bin da ein ziemlicher Dummie auf dem Gebiet.

Danke

Hallo ich noch mal,

hab den Fehler jetzt gefunden, Es war in der ursprünglichen Tabelle nur 1 Tabellenblatt (Tabelle1) hinterlegt.
Aber das Makro macht einen Fehler.
Es unterscheidet nicht zwischen unterschiedliche Straßennamen bzw. Orte.
Beispiel:

Mustermann Max, Abesstraße, 12345 Bedorf
Mustermann Alfred, Cemasstraße, 54321 Esbach

nach Makro heißt es:

Mustermann Max und Alfred, Abesstraße, 12345 Bedorf

Und das sollte eben gehen, daß anhand unterschiedlicher Straßen- bzw. Ortsangaben ein separater Datensatz erzeugt wird.

Trotzdem schon mal vielen Dank.

OT: Briefanschrift
Hallo,

ich möchte mit Word 2000 einen Serienbrief an ca. 200 Personen
erstellen. Die Daten sind in einer Excel-Tabelle hintelegt.
Nun ist es so, daß da von einer Familie bis zu 5 Personen
dabei sind.

das klingt nach Briefen an Vereinsmitglieder. :wink:

Wenn ich einen Brief bekäme, der so adressiert wäre:

Mustermann Max
Straße
Ort

würde ich mich beim Vorstand beschweren und dem Briefschreiber Nachhilfe aufs Auge drücken.

Selbstverständlich hat eine Briefanschrift so auszusehen:

Herrn
Max Mustermann
Straße
Ort

Alles andere ist entweder unhöflich oder stümperhaft.

Gruß G.

Hallo Schäkel,

hab den Fehler jetzt gefunden, Es war in der ursprünglichen
Tabelle nur 1 Tabellenblatt (Tabelle1) hinterlegt.

dafür bist du zuständig, daß beide Blätter vorhanden sind und auch die Namen im Code exakt übereinstimmen.

Es unterscheidet nicht zwischen unterschiedliche Straßennamen
bzw. Orte.

Okay, nachstehend neuer Code der dies berücksichtigt.

Gruß
Reinhard

Sub Seriendruck()
Dim Zei1 As Long, Zei2 As Long, wks1 As Worksheet, wks2 As Worksheet
Set wks1 = Worksheets("Tabelle1") 'Originaltabelle
Set wks2 = Worksheets("Tabelle2") 'Seriendrucktabelle
wks2.UsedRange.ClearContents
Application.ScreenUpdating = False
With wks1
 .Range("A1:smiley:1").Copy Destination:=wks2.Range("A1")
 Zei2 = 1
 For Zei1 = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
 Zei2 = Zei2 + 1
 .Range(.Cells(Zei1, 1), .Cells(Zei1, 4)).Copy Destination:=wks2.Cells(Zei2, 1)
 While Gleich(wks1, Zei1) = True
 Zei1 = Zei1 + 1
 wks2.Cells(Zei2, 2).Value = wks2.Cells(Zei2, 2).Value & " und " & .Cells(Zei1, 2).Value
 Wend
 Next Zei1
End With
Application.ScreenUpdating = True
End Sub
'
Function Gleich(wks1 As Worksheet, Zei1 As Long) As Boolean
With wks1
 If .Cells(Zei1, 1).Value = .Cells(Zei1 + 1, 1).Value Then
 If .Cells(Zei1, 3).Value = .Cells(Zei1 + 1, 3).Value Then
 If .Cells(Zei1, 4).Value = .Cells(Zei1 + 1, 4).Value Then
 Gleich = True
 End If
 End If
 End If
End With
End Function

Okay, gebe ich Dir recht.

Auf der anderen Seite haben sich eben Mitglieder bzw. die innerhalb des gleichen Haushaltes beschwert, daß eine Einladung, die persönlich an jedes einzelne Mitglied gerichtet war (inklusiv korrekter Anrede), reine Verschwendung an Papier ist. Es würde ein Ausdruck, wo alle im Namensfeld aufgeführt sind, reichen.
Wir haben es eben diesmal anders probiert, mal sehen ob Beschwerden kommen. Aber wie es überall ist, es findet sich immer irgendwo ein kleiner Fliegenschiß, an dem sich jemand darüber aufregt.
Das Ende vom Lied ist dann, daß sich keiner mehr (ehrenamtlich) um irgendetwas kümmern mag. Denn wie man es auch macht, irgendwie macht man es immer verkehrt.
Und darum liebe® G., ruhig sich beschweren; es könnte dann aber leicht sein, daß mal jemand sagt, mit mir nicht mehr, macht euren Kram doch selber…

Gruß Schäkel

Hallo Reinhard,

dat war es!!! Funktioniert super!!!
Vielen herzlichen Dank für Deine Mühe, bin immer noch (und auch zukünftig) begeistert von dieser Lösung.

Vielen Dank und mach weiter so, von so etwas lebt so ein Forum wie hier.

Nochmals besten Dank!

Gruß Schäkel

Okay, gebe ich Dir recht.

reine Verschwendung an Papier
ist. Es würde ein Ausdruck, wo alle im Namensfeld aufgeführt
sind, reichen.

Papiersparen ist ja auch vernünftig.
Aber: Papiersparen und korrekte Anschrift mit Anrede und Vorname(n) zuerst schließen sich gegenseitig nicht aus.

Das Ende vom Lied ist dann, daß sich keiner mehr
(ehrenamtlich) um irgendetwas kümmern mag. Denn wie man es
auch macht, irgendwie macht man es immer verkehrt.
Und darum liebe® G., ruhig sich beschweren; es könnte dann
aber leicht sein, daß mal jemand sagt, mit mir nicht mehr,
macht euren Kram doch selber…

Haha, das ehrenamtliche Gejammer beeindruckt mich überhaupt nicht. :wink:
Kenne ich zur Genüge aus meinem Umfeld.

Gruß G.

Papiersparen ist ja auch vernünftig.
Aber: Papiersparen und korrekte Anschrift mit Anrede und
Vorname(n) zuerst schließen sich gegenseitig nicht aus.

Wäre natürlich auch schön, wenn Du, bezogen auf die Ausgangsfrage, hierzu die entsprechende Lösung anbieten könntest.

Gruß Schäkel

Papiersparen ist ja auch vernünftig.
Aber: Papiersparen und korrekte Anschrift mit Anrede und
Vorname(n) zuerst schließen sich gegenseitig nicht aus.

Wäre natürlich auch schön, wenn Du, bezogen auf die
Ausgangsfrage, hierzu die entsprechende Lösung anbieten
könntest.

Die Lösung ist logischerweise ein 2. Tabellenblatt, das als Grundlage für den Seriendruck verwendet wird (—>das hast Du ja mittlerweile schon!). Dort eine Spalte „Anrede“ einfügen und mit Herrn/Frau/Familie oder was auch immer ausfüllen. Bei den Familien kommen je nach Länge 1 oder 2 Vornamen gleich ins Anrede-Feld dazu, damit der Postbote im Umschlag-Fenster den Nachnamen noch lesen kann.

Mit andern Worten: man bastelt an seiner Excel-Tabelle solange rum, bis sämtliche Anschriften formal korrekt dargestellt werden.
Excel und Word ist es nämlich egal, welche Einträge unter welchem Feldnamen erfolgen.

Einmaliger Zeitaufwand je nach Deiner Geschwindigkeit 20 bis 60 Minuten. Und das Seriendokument entsprechend anpassen: Anrede-Feld einfügen, Reihenfolge Vorname/Nachname ändern. Dauer: 1 Minute.

Übrigens kann das beste Makro der Welt folgendes nicht checken:
-gleiche Nachnamen + gleiche Anschrift ===> Personen gehören nicht zusammen
-ungleiche Nachnamen + gleiche Anschrift ===> Personen gehören zusammen.

Offensichtlich hast Du diese Fälle in der Mitgliederstruktur nicht.

Gruß G.