Mehrstellige Zahl vor Artikel
#11
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
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#12
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
Top
#13
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
Top
#14
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
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#15
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)
[-] Folgende(r) 3 Nutzer sagen Danke an ratrad für diesen Beitrag:
  • atilla, Kuwer, SonjaFido
Top
#16
Hallo,

schöne einfache und effektive Idee.
Muss man sich merken. Danke für Deinen Beitrag.
Gruß Atilla
Top
#17
Hallo ratrad,

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
















































:05: Thumps_up

Gruß Uwe
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste