Das letzte Clever-Excel-Forum.de - Treffen
fand vom 15. - 17. September 2017 in Friedrichroda /
Thüringen / Region Großer Inselsberg statt.

Mittels regulären Ausdrücken Punkt nach einer Zahl ersetzen
#1
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.
to top
#2
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
Gruß
Opa Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
to top
#3
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
Gruß Stefan
Win 7 / Office 2007
to top
#4
Hi Stefan,

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


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste