'entwickelt von Winfried Radner 'e-mail: Wolf.W.Radzinski@onlinehome.de 'Benutzung frei - ohne Gewähr '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Function HausnummerAus(ByVal ausdruck As String) As String zahl = False: ende = False Dim sVar As String, i As Integer For i = 1 To Len(ausdruck) Select Case Mid(ausdruck, i, 1) Case Application.International(xlDecimalSeparator): If sVar <> "" Then sVar = sVar + "," Case Application.International(xlThousandsSeparator): If sVar <> "" Then sVar = sVar + "." Case " ": sVar = sVar 'wenn Leerzeichen Teil einer Zahl sein kann Case Else: If InStr(1, "0123456789,", Mid(ausdruck, i, 1)) And Not ende Then sVar = sVar + Mid(ausdruck, i, 1) zahl = True Else If zahl Then ende = True 'so wird nur die erste Zahl genommen End If End Select Next HausnummerAus = sVar Select Case CInt(HausnummerAus) Case 17: pos = InStr(1, ausdruck, "Juni") If pos > 0 Then rest = Right(ausdruck, Len(ausdruck) - pos) HausnummerAus = HausnummerAus(rest) Exit Function End If Case Else: Exit Function End Select End Function Function StrasseAus(ausdruck) As String hn = HausnummerAus(ausdruck) StrasseAus = ausdruck If hn > "" Then Select Case CInt(hn) Case 17: pos = InStr(1, ausdruck, "Juni") If pos > 0 Then StrasseAus = Left(ausdruck, InStr(pos, ausdruck, hn) - 1) End If Case Else: StrasseAus = Left(ausdruck, InStr(1, ausdruck, hn) - 1) End Select End If End Function Function HausnummerzusatzAus(ausdruck) As String hn = HausnummerAus(ausdruck) HausnummerzusatzAus = "" If hn > "" Then Select Case CInt(hn) Case 17: pos = InStr(1, ausdruck, "Juni") If pos > 0 Then HausnummerzusatzAus = Right(ausdruck, Len(ausdruck) - InStr(pos, ausdruck, hn) + 1 - Len(hn)) End If Case Else: HausnummerzusatzAus = Right(ausdruck, Len(ausdruck) - InStr(1, ausdruck, hn) + 1 - Len(hn)) End Select End If End Function