382 Aufrufe
Gefragt in Tabellenkalkulation von
Moin zusammen,
ich habe folges Problem:

Ich möchte auf "Tabellenblatt 1" Textbausteine haben, die sich aus Daten anderer Blätter (bspw. Tabellenblatt 2) beziehen.

Beispiel:

Tabellenblatt 2
Zelle A1: Name: Max Mustermann
Zelle A2: Kundennummer: 0123456


Tabellenblatt 1
Zelle A1: "Max Mustermann 0123456"

Damit sollte ein Copy/Past für E-Mails schneller und einfacher gehen, da man Tabellenblatt 2 AUsfüllt und am Ende nur noch den Textbaustein aus Tabellenblatt 1 in eine Mail kopieren braucht...
(Mein Wunsch ist es später ein Marko zu entwerfen, welches die Mail mit einem Knopfdruck selbst ausfüllt und verschickt, aber dazu muss ich erstmal Tabellenblatt 1 fertig bekommen und kümmere mich danach um VBA.

LG Ben

1 Antwort

0 Punkte
Beantwortet von m-o Profi (22.8k Punkte)
Hallo Ben,

der Aufbau von Tabellenblatt ist suboptimal ;-). Warum steht in Tabellenblatt 2 z.B. Bezeichnung und Name bzw. Kundennummer in einer Zelle? Das kann man zwar per Formel ändern, aber anders wäre es einfacher. Vor allem da du schreibst, dass Tabellenblatt ja ausgefüllt wird.
Besser wäre es z.B. so:
Tabellenblatt 2:
Zelle A1: Kundennummer
Zelle B1: Hier dann Kundennummer eintragen
Zelle A2: Name
Zelle B2: Hier dann Namen eintragen
etc.
Das ist nicht nur die Weiterverarbeitung einfacher, sondern natürlich auch für das Ausfüllen.

Die Übernahme auf Tabellenblatt 1 kannst du dir eigentlich sparen, da man per VBA auch so Namen und Kundennummer zusammensetzen kann.

Aber hier trotzdem mal ein Beispiel wie du die Übernahme per Formel lösen kannst:
=GLÄTTEN(RECHTS(Tabelle2!A1;LÄNGE(Tabelle2!A1)-FINDEN(":";Tabelle2!A1))) & " " & GLÄTTEN(RECHTS(Tabelle2!A2;LÄNGE(Tabelle2!A2)-FINDEN(":";Tabelle2!A2)))

Und hier das selbe Spiel in VBA:
Sub test()
Dim strName As String
Dim vName As Variant
Dim vKdnr As Variant

With Worksheets("Tabelle2")
vName = Split(.Range("A1").Value, ":")
vKdnr = Split(.Range("A2").Value, ":")
End With

strName = Trim(vName(UBound(vName))) & " " & Trim(vKdnr(UBound(vKdnr)))

MsgBox strName

End Sub

Bei meinem Vorschlag per Formel:
=Tabelle2!B1& " "&Tabelle2!B2
oder per VBA
Sub test2()
Dim strName As String

With Worksheets("Tabelle2")
strName = .Range("B1") & " " & .Range("B2")
End With

MsgBox strName

End Sub


Gruß

M.O.
...