ich habe eine Tabelle mit mehreren Tabellenblättern, die anhand von verschiedenen Textbausteinen und Variablen Verträge für unterschiedliche Kunden erzeugt. Ein Tabellenblatt enthält feste Textbausteine, ein anderes individuelle Angaben zu den Kunden.
Das Tabellenblatt der Kunden sieht so aus (die Punkte denkt Euch bitte weg, ich musste sie einfügen da die Leerzeichen automatisch entfernt werden):
name_kunde........Alfons.....Berta......Caesar
anschrift_kunde...xy-Str.1...xy-Str.2...xy-Str.3
....
Das Blatt mit den Textbausteinen enthält feste Textbausteine mit Angaben zur Formatierung und soll nach Bedarf angepasst werden können, d.h. man kann Zeilen hinzufügen oder Texte ändern. Diese werden dann in allen erzeugten Verträgen geändert.
In der ersten Spalte steht die Formatierung (Absatz, Fließtext oder Überschrift) und dahinter der Text. Nun die Herausforderung: wenn in den Fließtext der Name des Kunden eingetragen werden soll, möchte ich in die Spalte "Formatierung" den Namen des strings einsetzen ("name_kunde") und das Programm soll dann im Text den Wert dieses Strings ausgeben ("Alfons").
Das Textbaustein-Blatt sieht also so aus:
Formatierung....Text
fliesstext...........Der Vertrag zwischen der abc-GmbH und
name_kunde
fliesstext...........beinhaltet die Pflege von Bäumen und Sträuchern in
anschrift_kunde
fliesstext...........im Jahr 2019.
Ausgegeben werden soll als Fließtext "Der Vertrag zwischen der abc-GmbH und Alfons beinhaltet die Pflege von Bäumen und Sträuchern in der x-Str.1"
Wie kann ich Excel dazu bringen, den Wert des Strings auszugeben?
Meine Lösung ist wie folgt und führt nur dazu dass der Name und nicht der Wert des Strings ausgegeben wird. In dem Beispiel heißt die Variable "name_kunde" und deren Wert ist "Alfons"
Sub variable_ausgeben()
If formatierung "fliesstext" Then
Worksheets("Vertrag").Cells(zeile, 1) = variable
End If
End Sub
Besten Dank vorab fürs Mitdenken!