Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Mehrstellige Zahl vor Artikel
#1
Hallo Freunde,
ich habe im Büro folgendes Problem. In Spalte A steht bei mir eine Artikelliste mit folgendem Format:

mehrstellige Zahl & Artikel

Die mehrstellige Zahl varriert dabei. Mal steht eine Zahl vor dem Artikel, mal auch 10 Zahlen.

Ich bräuchte einen VBA Code, der mir in Spalte B die Anzahl der Zahlen vor dem eigentlichen Artikel

anzeigt. Für euch sicherlich kein Problem, für mich leider mal wieder der sprichwörtliche Berg vor

dem ich stehe.

Vielen Dank im voraus.
Antworten Top
#2
Hallo,

sieh Dir das mal an:

http://excelformeln.de/formeln.html?welcher=100

einfach noch Länge davor, schon hast du´s
Mit wechseln könnte man die zahl auch gleich entfernen.
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#3
Hallo,

probiere mal msgbox val(cells(1,1).value)
Mit Val liefert Excel-VBA den numerischen Wert am Anfang einer Zeichenkette.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#4
Hallo Andre,

Deine Idee ist schon mal super. Doch wir brauchen noch eine kleine Ergänzung.

Mit einem Kollegen zusammen habe ich Deinen Code so umgeschrieben:

Code:
Sub Mehrstellig()
Debug.Print Val(Cells(5, 1).Value)
End Sub
Richtigerweise wird immer die Zahl ausgegeben. Wir brauchen aber die Länge des Zahlenstrings

also bei Ausgae 123 Länge 3 , 10000 Länge 5.

Das Problem setzen wir Len davor, also Len (Val(Cells(5, 1).Value)) geht's nicht.
Antworten Top
#5
Hallo,

dann so:

Code:
Sub Laenge()
Dim i As Long
For i = 1 To 100
Cells(i, 2) = Len(Str(Val(Cells(i, 1).Value))) - 1
Next
End Sub
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#6
Hallo Edgar,

danke für Deinen Lösungsvorschlag. Aufgrund der Typenunverträglichkeit die der Compiler meldet hatten wir
die Sache so gelöst:
Code:
Sub Mehrstellig()
'Länge einer mehrstelligen Zahl ermitteln
a = Val(Cells(5, 1).Value)
Debug.Print Len(a)
End Sub
Antworten Top
#7
Hallo Edgar,

danke für die Ergänzung, die Länge hatte ich doch glatt überlesen. Allerdings ist Deine Ergänzung nicht ganz korrekt, wenn führende Nullen vorkommen.
Ich vermute aber, dass das hier nicht relevant ist - wenn doch, müsste sich der Fragesteller nochmal melden, das bekommen wir - Excel sei dank Idea - auch noch gebacken.

Den Formelansatz habe ich mir noch nicht angeschaut.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#8
Hallo,

mit führender Null z.B. so?:

Code:
Sub Laenge()
  Dim i As Long, j As Long
  Dim strT As String, strZ As String
  For i = 1 To 2
    strZ = Cells(i, 1).Value
    If IsNumeric(strZ) Then
      strT = strZ
    Else
      Do
        j = j + 1
        strT = Left(strZ, j)
      Loop While IsNumeric(strT) And j < Len(strZ)
    End If
    Cells(i, 2).Value = Len(strT) + (j > 0)
    j = 0
  Next
End Sub

Gruß Uwe
Antworten Top
#9
Hallo Uwe und Andre,

hatte an die führende Null gar nicht gedacht ist aber ein guter und wichtiger Vorschlag. Gruß
von meinem Kollegen (hat mehr Ahnung als ich), der ist von eurem Forum begeistert.

Wir machen jetzt Feierabend.
Antworten Top
#10
Hallo!

Ohne VBA

Tabelle1

AB
1456789 hjk6
2012 asdfgh3
Formeln der Tabelle
ZelleFormel
B1=FINDEN(" ";A1)-1

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4

Gruß
Wilfried
Antworten Top


Gehe zu:


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