Clever-Excel-Forum

Normale Version: Mehrstellige Zahl vor Artikel
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
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 ...:

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
Hallo!

Kein Leerzeichen zwischen Text und Leerzeichen zwischen Text.
Dann so!

Tabelle2

AB
1456789hjk6
2123 bnm3
Formeln der Tabelle
ZelleFormel
B1=LÄNGE(VERWEIS(9^9;--LINKS(9&A1;SPALTE(1:1))))-1

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4

Gruß
Wilfried
Hallo,
eine einfache Methode einschließlich Berücksichtigung führender Nullen:

Code:
Sub Ziffernanzahl()
Dim i As Integer
While IsNumeric(Mid(Trim(Cells(1, 1)), i + 1, 1))
i = i + 1
Wend
Debug.Print "Ziffern: " & i
End Sub
Hallöchen,

siehe dazu auch dieser Thread mit der Möglichkeit, Formeln im VBA anzuwenden. Der Fragesteller sotaros hat sich dabei auf die von Wilfried eingestellte Excelformel bezogen.

http://www.clever-excel-forum.de/thread-...ml#pid8360
Hallo,

kürzester Weg der Berechnung der Mehrstelligkeit einschließlich führender Nullen:

Code:
Debug.Print Len(CStr(Val("1" & Cells(1, 1)))) - 1

(In diesem Codebeispiel steht die Zahl in Zelle A1)
Hallo,

schöne einfache und effektive Idee.
Muss man sich merken. Danke für Deinen Beitrag.
Hallo ratrad,

das ist mir jetzt aber doch viel zu banal!! :21:
















































:05: Thumps_up

Gruß Uwe
Seiten: 1 2