AW: Hausnummern von Adressen trennen
26.02.2008 17:21:00
Adressen
Hallo Elmar,
das geht z. B. so:
'
' Man braucht im VBA einen Verweis auf MS VBScript Regular Expression.
' D. h. im VBA im Menue Extras-Verweise dieses Teil suchen und ankreuzen.
'
' Filtert alles ab einer Zahl als Hausnummer
'
Public Function Hausnummer(s As String)
Dim objRegEx As Object
Set objRegEx = CreateObject("vbscript.regexp")
With objRegEx
.Global = True
.IgnoreCase = False
.MultiLine = False
.Pattern = "[^0-9]*?\s?(\d+.?)"
End With
Hausnummer = objRegEx.Replace(s, "$1")
End Function
'
' Filtert alles vor einer Zahl als Straße
'
Public Function Strasse(s As String)
Dim objRegEx As Object
Set objRegEx = CreateObject("vbscript.regexp")
With objRegEx
.Global = True
.IgnoreCase = False
.MultiLine = False
.Pattern = "([^0-9]*?)\s?\d+.?"
End With
Strasse = objRegEx.Replace(s, "$1")
End Function
'
' Test der obigen beiden Functions
'
Public Sub FunctionTest()
Dim lZeile As Long
Application.ScreenUpdating = False
With Worksheets("Tabelle3")
For lZeile = 2 To .Range("A65536").End(xlUp).Row
.Range("B" & lZeile).Value = Strasse(.Range("A" & lZeile).Value)
.Range("C" & lZeile).Value = Hausnummer(.Range("A" & lZeile).Value)
Next lZeile
End With
Application.ScreenUpdating = True
End Sub