27.10.2014, 22:38
Hallöchen,
Wilfried hat noch einen guten Gedanken eingebracht. Wenn garantiert oder mindestens ein Leerzeichen und eine Zahl enthalten ist, geht es einfach mit der split-Funktion in VBA.
Im Prinzip:
msgbox len(split("1234 ABC"," ")(0))
Ansonsten kann man auch mit Excel auf die regular expressions zugreifen, die waren in den letzten Tagen schon in zwei Threads ein Thema ...:
Wilfried hat noch einen guten Gedanken eingebracht. Wenn garantiert oder mindestens ein Leerzeichen und eine Zahl enthalten ist, geht es einfach mit der split-Funktion in VBA.
Im Prinzip:
msgbox len(split("1234 ABC"," ")(0))
Ansonsten kann man auch mit Excel auf die regular expressions zugreifen, die waren in den letzten Tagen schon in zwei Threads ein Thema ...:
Code:
Sub test_numeric()
MsgBox CountNumbersOnLeft("0815ABC-D3")
MsgBox CountNumbersOnLeft("ABC-0815-D3")
End Sub
Function CountNumbersOnLeft(ByVal strText As String) As Integer
'Variablendeklarationen
'Objekt
Dim regEx As Object
Dim Matches As Object
'RegEx Objekt zuweisen
Set regEx = CreateObject("Vbscript.Regexp")
'Mit dem Regex
With regEx
' beliebige Anzahl Zahlen am Beginn der Zeichenkette suchen
.Pattern = "^[0-9]+"
' nur erstes auftreten ermitteln
.Global = False
' Treffer ermitteln
Set Matches = .Execute(strText)
' Bei erfolgreichem Test Laenge uebernehmen
If .test(strText) Then CountNumbersOnLeft = Matches(0).Length
'Ende Mit dem Regex
End With
End Function
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)