Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1656to1660
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Name eines strings auslesen & dessen Wert ausgebe

Name eines strings auslesen & dessen Wert ausgebe
16.11.2018 12:03:26
Martin
Hallo liebe Excel-Experten,
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!

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Name eines strings auslesen & dessen Wert ausgebe
16.11.2018 12:11:10
MCO
Hallo!
Kann es sein, dass du gerade dass WORD-Werkzeug "Serienbrief" versuchst in Excel nachzubauen?
Mach es in Word mit der Excel-Tabelle als Datenbank!
Ansonsten nach dem Muster
variable = cells(zeile, spalte)
variable2 = cells(zeile, spalte)
"Text1" & variable & " Text2 " & "variable2 & "Text3"
Gruß, MCO
AW: Name eines strings auslesen & dessen Wert ausgebe
16.11.2018 13:02:56
Martin
Es geht schon in Richtung Serienbrief, ist aber meiner Meinung nach zu komplex für Word. Es geht ja um verschiedene Vertragspartner und diverse individuelle Einstellungen bei jedem, außerdem muss an einigen Stellen noch gerechnet werden. Der vba-Code macht bisher auch schon alles ganz hervorragend, nur dieses string-Thema macht mir noch Kopfzerbrechen. Alternativ wäre es möglich alles einzeln abzufragen:
If formatierung ="name_kunde" then
Worksheets("Vertrag").Cells(zeile, 1)= Worksheets("Vertrag").Cells(zeile, 1) & name_kunde
...aber damit wäre die Möglichkeit genommen weitere Variablen in die Tabelle einzufügen und automatisch ergänzen zu lassen, ohne den Code weiter zu schreiben.
Anzeige
das geht nicht. owT
16.11.2018 12:15:58
Rudi
Da es sich ja um einen Serienbrief-Mechanismus ...
16.11.2018 14:24:19
Luc:-?
…handelt, Martin,
sollten die Variablen auch als wdFeldnamen (mit der in Word üblichen Kennung) in den Text eingefügt wdn. Dann macht das auch Word. Ich habe da schon Komplizierteres realisiert - nur in Word, ohne xlVBA (aber ggf zusätzlich wdVBA). Allerdings sind solch reine wdFeldnamen-Fmln etwas gewöhnungsbedürftig, weil sie an bestimmten Stellen Leerzeichen (innerhalb der oft verschachtelten Mar­kierungs-{}) enthalten müssen.
Gruß, Luc :-?
„Die Intelligenzmenge ist auf diesem Planeten eine Konstante, die Bevölkerung nimmt aber zu!“ Auch deshalb informieren mit …
Anzeige

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige