Profi-Excel.de

Die Seite für den professionellen Umgang mit Excel und VBA

Suche mit Regular Expressions in VBA

18. März 2011

VBA kennt von sich aus keine Regulären Ausdrücke. Um einen ersten Einstieg in den Umgang mit Regulären Ausdrücken zu bekommen, gibt es unten ein Beispiel, wie man die Bibliothek verfügbar macht.
Über CreateObject erzeugt man das Objekt. Die Pattern Eigenschaft legt das Pattern für die Suche fest, hierbei werden üblicherweise Zeichenklassen verwendet, wie z.B. \w (siehe unten) oder \d für alle Zahlen, d.h. 0-9.
Der Vorteil von Regulären Ausdrücken liegt in den sehr umfassenden Möglichkeiten auch komplexe Suchen bzw. Prüfungen vorzunehmen. Ein übliches Beispiel ist die Prüfung der Gültigkeit von Emailadressen.

VBA:
  1. Sub VBA_Suche_Mit_RegularExpression()
  2.  
  3. 'sucht mit der Hilfe von Regulären Ausdrücken
  4. '03-2011
  5. 'E.Bimczok http://profi-excel.de
  6.  
  7. Const myText As String = "Dieser Satz kein Verb"
  8.  
  9. Dim myRegEx As Object
  10.  
  11. Set myRegEx = CreateObject("VBScript.RegExp")
  12.  
  13. '\w alle Zahlen (0-9), Buchstaben (A-z) oder "_"
  14. '+ mindestens einmal aber beliebig oft
  15. myRegEx.Pattern = "\w+"
  16.  
  17. Set result = myRegEx.Execute(myText)
  18.  
  19. MsgBox result(0).Value 'Dieser
  20.  
  21. 'Buchstabe "S", danach die oben beschriebene Klasse \w
  22. myRegEx.Pattern = "S\w+"
  23.  
  24. Set result = myRegEx.Execute(myText)
  25.  
  26. MsgBox result(0).Value 'Satz
  27.  
  28. End Sub

Kommentar schreiben

XHTML: Sie können diese Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>