Text formatieren

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Text formatieren
von: Mike
Geschrieben am: 14.09.2015 12:05:53

Hallo Zusammen,
ich möchte den Text einer Zelle formatieren.
Wird das Suchmuster gefunden, soll dieser Text FETT formatiert und danach ein Zeilenumbruch eingefügt werden.
Danach soll das nächste Suchmuster in der Zelle gefunden werden usw.
Mein Ansatz funktioniert bereits für das 1.Match, siehe Zelle A1.
Das Ergebnis soll wie in Zelle A2 aussehen (siehe https://www.herber.de/bbs/user/100161.xlsm)
Vielen Dank und Grüsse, Mike

Bild

Betrifft: AW: Text formatieren
von: Alfons
Geschrieben am: 15.09.2015 09:55:05
Hallo Mike,

Public Sub Format_Text()
Dim strOrg As String, strRes As String, strSB As String
Dim arr
Dim x As Integer, pos As Integer
Dim rng As Range
  For Each rng In Selection
    strOrg = rng.Value
        
    If Len(strOrg) > 0 Then
      strSB = "<INFO"
      strRes = Replace(strOrg, strSB, Chr(10) & strSB)
      
      strSB = "</INFO-CUSTOMER>"
      strRes = Replace(strRes, strSB, strSB & Chr(10))
      
      'letzten Umbruch entfernen
      strRes = Mid(strRes, 1, Len(strRes) - 1)
      'MsgBox strRes
      
      'an verbleibenden Umbrüchen aufteilen
      arr = Split(strRes, Chr(10), -1, vbTextCompare)
       
      With Cells(rng.Row, rng.Column + 1)  'rechts schreiben
      'With rng   'Original überschreiben
        .Clear
        .Value = strRes
        
        pos = 1
        
        For x = 0 To UBound(arr)
          'die fetten Teile:
          If InStr(1, arr(x), strSB, vbTextCompare) = 0 Then
              .Characters(Start:=pos, Length:=Len(arr(x))).Font.FontStyle = "Fett"
          End If
          
          pos = pos + Len(arr(x))
        Next x
      End With
      
    End If
  Next rng
End Sub
Gruß
Alfons
-------------------------------------------------------------------
http://vba1.de
-------------------------------------------------------------------

Bild

Betrifft: AW: Text formatieren
von: Mike
Geschrieben am: 15.09.2015 11:40:40
Hi Alfons,
vielen Dank für Deine Antwort :-)
Funktioniert fast perfekt, aber wenn zwischen dem schließenden TAG und dem nächsten Datum Text stehen sollte, funktioniert es leider nicht.
Vielen Dank und Grüsse, Mike

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Text formatieren"