ich brauche eine Funktion die in den Kommentaren aller markierten Zellen einen Replace mit Hilfe von RegEx macht um die Reihenfolge des Textes umzustellen. Wichtig ist also dass beim Suchbegriff das Klammern möglich sein muss!
Beispiel:
Samstag 123 soll per RegEx ersetzt werden in 123 Samstag. Ein Möglichkeit wäre:
Suche nach: (S[a-z]+) ([0-9]+)
Ersetzte durch: \2 \1
Die runden Klammern definieren den zu speichernden Bereich, der Backslash und die nachfolgende Nummer beim Ersetzen stellt den Speicher gemäß der Reihenfolge ihres Auftretens im regulären Ausdruck dar. Könnte auch sein dass es $2 $1 lauten muss oder noch ganz anders...
Ich habe von euch bereits eine Funktion die normales Suchen und Ersetzen beherrscht und zusätzlich noch den Zeilenumbruch nach dem Suchstring entfernt, vielleicht hilft es ja ein wenig als Vorlage:
Public Sub Kommentar_SucheErsetzen()
Dim ZElle As Range
Dim Arr
Dim I
Dim stext As String
Dim Suche As String
Dim Ersetze As String
Suche = InputBox("Suchen nach:", "Kommentar Suchen & Ersetzen")
If StrPtr(Suche) > 0 Then
If Suche "" Then
Ersetze = InputBox("Ersetze durch:", "Kommentar Suchen & Ersetzen")
For Each ZElle In Cells.SpecialCells(xlCellTypeComments)
stext = ZElle.Comment.Text
Arr = Split(stext, vbLf)
For I = LBound(Arr) To UBound(Arr)
If Arr(I) Like Suche Then stext = Replace(stext, Arr(I) & vbLf, Ersetze)
Next
ZElle.Comment.Text stext
Next
End If
End If
End Sub
Es muss diesmal nicht unbedingt mit InputBox sein ;)
Danke und mfG
Axel