Clever-Excel-Forum

Normale Version: Mittels regulären Ausdrücken Punkt nach einer Zahl ersetzen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Leute, 

ich bräuchte nochmal dringend weitere Hilfe. Ich möchte per VBA Programmierung das bei Zahlen von 0 bis 9 gefolgt von einem Punkt
der Punkt hinter der Zahl durch einen Stern * ersetzt wird. Also aus 1. wird 1*  und aus 2. wird 2* usw.

Mit allen Punkten die nicht direkt hinter einer Zahl stehen soll nichts passieren.
Ich denke man kann so etwas sehr effektiv mittels regulären Ausdrücken programmieren. Nur wie?
Für eure Lösungsvorschläge wäre ich sehr dankbar und bedanke mich schon mal hier.
Hallo,

könntest Du Dich erst einmal zu Deinem vorherigen Problem äußern? Da hättest Du auch weitermachen können!
Wenn Du schon weißt, dass man das mit regulären Ausdrücken programmieren kann, warum suchst Du nicht mal danach?

z.B. hier:

http://regexp-evaluator.de/tutorial/
http://de.wikipedia.org/wiki/Regul%C3%A4...es_Zeichen
http://www.herber.de/forum/archiv/896to9...egexp.html
Hallo,

meinst Du so?

Code:
Sub prcTestRegex()
   Dim re As Object, reMat As Object
   Dim lngC As Long
  
   On Error Resume Next
   Set re = CreateObject("vbscript.regexp")
   re.Pattern = "(\d)*(\.)"
   re.Global = True
   lngC = 1
   While Cells(lngC, 1) <> ""
      Set reMat = re.Execute(Cells(lngC, 1))
      If Not IsEmpty(reMat(0).submatches(0)) Then
         Cells(lngC, 2) = Replace(Cells(lngC, 1), ".", "*")
      Else
         Cells(lngC, 2) = Cells(lngC, 1)
      End If
      lngC = lngC + 1
   Wend
   On Error GoTo 0
End Sub
Hi Stefan,

habe deinen Code gerade ausprobiert. Funktioniert super. Genau das habe ich gesucht.
Vielen Dank für deine Hilfe.