Serienbrief - nur ein Wort aus Exceltabelle
#1
Moin,

ich möchte eine Seriennbrief erstellen - was nicht das Problem ist -  und dafür eine vorhandene und nicht veränderbare Exceltabelle als Datenquelle nutzen.
Soweit auch noch machbar.
In der Datenquelle stehen Vorname und Nachname in einer Spalte/ Zelle und das kann und will ich nicht ändern.
Ich möchte aber nur den Vornamen im Serienbrief nutzen.

Forum duchsucht, den Gockel befragt aber ich komme nicht weiter.
Programversion Office Professional 2021.

Freue mich auf Eure Ideen, danke vorab

Gruß
Frank
Antworten Top
#2
Hallo Frank,

dann brauchst du doch nur das entsprechende Mergefeld löschen.

Knobbi38
Antworten Top
#3
@Knobbi, er hat doch nur eins ... und falls es mehrere sind und er das betreffende löscht, dann hat er keinen Vornamen.
@Frank, das wird dann vielleicht auf eine VBA-Lösung hinauslaufen. Ich habe mal den code stibitzt (ungetestet):

Code:
Sub ReplaceFullNameWithSplit()
    Dim fld As Field, parts() As String
    Dim fullName As String, firstName As String, lastName As String
    ' Loop through all fields in the document
    For Each fld In ActiveDocument.Fields
        If fld.Type = wdFieldMergeField Then
            If InStr(fld.Code.Text, "FullName") > 0 Then
                ' Get the value of the FullName field
                fullName = fld.Result
                ' Split at the first space
                parts = Split(fullName, " ") 'hier ggf. anderes Trennzeichen
                If UBound(parts) >= 1 Then
                    firstName = parts(0)
                    lastName = parts(1)
                    ' Replace the field with FirstName + LastName
                    'fld.Result.Text = firstName & " " & lastName
                    fld.Result.Text = firstName
                End If
            End If
        End If
    Next fld
End Sub

Das Makro hier trennt den vermeintlichen Vorname beim ersten Leerzeichen.
Problem ist allerdings, wenn Du mehrteilige Vor- und/oder Nachnamen hast und nur Leerzeichen als Trennzeichen. Da wäre es von Vorteil, wenn da in den Excel-Daten was anderes steht, z.B. ein Komma.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#4
Oh sorry, da habe ich wohl etwas überlesen. 

So wird die Sache allerdings ungleich schwieriger, wenn nicht sogar unmöglich. Solange es Doppelnamen mit oder ohne Bindestriche gibt, oder auch Titel, wird es keine saubere, automatische Lösung dafür geben, diese Angaben zu trennen.

Hier ist Handarbeit angefragt und die Datenbasis muss entsprechend aufbereitet werden, auch wenn der OP das nicht möchte.

Knobbi38
Antworten Top
#5
Wink 
Einfach kann jeder Wink  sogar ich ein bisschen.
Danke für Eure Antworten!

Die Excel Datei kann ich nicht bearbeiten, die ist geschützt und dass muss sie auch bleiben. Also kann ich auch kein VBA Script dort einbinden - so verstehe ich es jedenfalls, oder?
Vermutlich müsste ich mir dann erstmal die Spalte in eine neue Datei rauskopieren und dann das Script einsetzen.
Da ich ja auch nur ein einfacher DAU bin, ist VBA eh schon ziemlich hoch für mich.
Es handelt sich nur um 30 Namen, ich werde es wohl händisch machen.

Have Fun und danke nochmal

Gruß von der Wesermündung

Frank
Antworten Top
#6
... Der Code ist für Word VBA Ist aber, wie Du auch festgestellt hast, vielleicht einfacher, wenn Du Dir die Namen in eine andere Excel holst, dort auseinander nimmst und das dann als Quelle für den Serienbrief. Da kannst Du auch bisschen mit PQ rum spielen...
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • Schmidtchen
Antworten Top
#7
Moin nochmal,

Problem über Umwege gelöst Wink 
Ist zwar eigentlich Excel aber habe ja hier in Word damit angefangen.

mit der neuen "übernehmen" Funktion (gibt es erst ab Office 365)  in einem neuen Blatt die gewünschten Zellen einfügen. Übernhemen hat gegenüber Copy und Paste den Vorteil, dass Änderungen in der Quelldatei auch in der neuen Datei übernommen werden.

=ÜBERNEHMEN('[Quelldatei.xlsx]Tabelle1'Bereich;Zeilen;Spalten)
Dann in Spalte B mit =LINKS(A1; SUCHEN(" "; A1)-1) das 1. Wort extrahieren

Schon hat man eine saubere und sich automatisch anpassende Datenquelle für die Seriendruckfelder in Word

Have fun und stay healthy
[-] Folgende(r) 1 Nutzer sagt Danke an Schmidtgeestland für diesen Beitrag:
  • schauan
Antworten Top


Gehe zu:


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