Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1632to1636
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

Teilstring ersetzen und Fett formatieren

Teilstring ersetzen und Fett formatieren
11.07.2018 10:03:04
Mario
Hallo Forumsgemeinde,
leider habe ich für mein Problem bis jetzt keine Lösung gefunden. Daher stelle ich das mal ins Forum.
Bin gerade dabei in excel eine Arbeitsvertragsvorlage zu erstellen. Dabei sollen einzelne Teilstrings in einem Text ersetzt werden.
Vorlage:
Herr VORNAME NACHNAME wird das Unternehmen als STELLE.....
Das soll dann nach Eingabe diverser Variablen auch wieder so aussehen.
Herr MAX MUSTERMANN wird das Unternehmen als PROJEKTLEITER ....
Das Ändern der Variablen ist nicht das Problem sondern nur die Formatierung.
Dachte ich hätte jetzt eine Lösung gefunden. Hab dazu die Variablem mit Klammern versehen [ _ VORNAME] [NACHNAME] und setze diese dann mittels diesen Codes auf Fett.

Sub test()
Dim intStart As Integer, intEnde As Integer
Dim rng As Range
For Each rng In Range("B11:B11")
If Len(rng) > 0 Then
intStart = InStr(1, rng, "[")
intEnde = InStr(1, rng, "]")
If intStart > 0 And intEnde > 0 Then
Do
rng.Characters(intStart + 1, intEnde - intStart - 1).Font.Bold = True
intStart = InStr(intEnde + 1, rng, "[")
intEnde = InStr(intEnde + 1, rng, "]")
Loop While intStart > 0 And intEnde > 0
End If
End If
End Sub

Soweit so gut, funktioniert auch. Nur muss ich die Klammern dann natürlich entfernen und wenn ich die ersetze ist die Formatierung im Text wieder weg. :-(
Hat zufällig jemand eine Idee wie ich das lösen kann. Vielleicht denke ich auch zu kompliziert. Bin mit meinem Latein auf jeden Fall am Ende.
mfg
Mario

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

Betreff
Datum
Anwender
Anzeige
AW: Teilstring ersetzen und Fett formatieren
11.07.2018 11:39:07
Matthias
Hallo Mario
In Deinem Code fehlt das Next
nur so als Vorschlag:
Lass die eckigen Klammern gleich weg.
Das erste Zeichen ist dann immer das 6.Zeichen, wo Du beginnst Fett zu formatieren
Herr+Leerzeichen
Frau+Leerzeichen
Da Du nun ja den zu ersetzenden Namen der Person kennst, kannst Du so auch das Ende bestimmen.
Also ab Zeichen(6) bis zum Zeichen (6 + Länge(Name der Person)) formatierst Du Fett
Gruß Matthias
AW: Teilstring ersetzen und Fett formatieren
11.07.2018 12:53:09
Mario
Hallo Matthias,
danke für deine rasche Antwort.
Das next wollte sich nicht mitkopieren lassen, erst beim nächsten Mal :-)
Ich glaub ich hab es dank deines Tipps hinbekommen.
Sub test()
Dim intStart As Integer, intEnde As Integer
Dim rng As Range
Dim wert As String
wert = "Projektleiter"
For Each rng In Range("B11:B15")
If Len(rng) > 0 Then
intStart = InStr(1, rng, wert)
intEnde = intStart + len(wert)
If intStart > 0 And intEnde > 0 Then
rng.Characters(intStart, intEnde - intStart).Font.Bold = True
End If
End If
Next
End Sub
Das funktioniert schon mal für jede Zeile im Bereich. Muss nur noch eine Schleife innerhalb der Zelle erstellen (falls der Wert mehrfach in der selben Zelle vorkommt). Dann sollte das passen. Danke nochmal.
mfg
Mario
Anzeige
AW: Teilstring ersetzen und Fett formatieren
11.07.2018 12:45:21
mmat
Hallo,
du mußt erst den Namen ersetzen und dann formatieren, etwa so (vereinfacht):
Sub ersetze()
Dim intStart As Integer, intEnde As Integer
Dim rng As Range
Dim neu As String, s As String
neu = "Max Mustermann"
For Each rng In Range("B11:B11")
If Len(rng) > 0 Then
intStart = InStr(1, rng, "[")
intEnde = InStr(1, rng, "]")
If intStart > 0 And intEnde > 0 Then
s = rng.Value
s = Left(s, intStart - 1) + neu + Mid(s, intEnde + 1)
rng.Value = s
rng.Characters(intStart, Len(neu)).font.Bold = True
End If
End If
Next
End Sub

AW: Teilstring ersetzen und Fett formatieren
11.07.2018 12:59:12
Mario
Hallo mmat,
super, danke. Das funktioniert noch einfacher als das, was ich jetzt schon zusammengebastelt habe :-)
mfg
Mario
Anzeige

33 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige