Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1244to1248
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Zahl aus Dateiname extrahieren
karl
Mahlzeit zusammen
Ich möchte aus einem Dateinamen eine Zahl extrahieren. die Namen können unter unterschiedlich sein.
Ich such das erste Vorkommen der Zahl
Per Formel und zum lernen bitte auch in vba.
Wie ich den Dateinamen in Zelle anzeige hab ich gefunden
Weiter komme ich aber nicht, habe die Split func. gefunden, aber weiter ?
https://www.herber.de/bbs/user/78595.xls
gruß
karl

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Erste Zahl aus Dateinamen
25.01.2012 14:29:18
Erich
Hi,
per Formel - aus http://www.excelformeln.de/formeln.html?welcher=102 - so:
 B
178595
2 
31

Formeln der Tabelle
ZelleFormel
B1{=1*TEIL(LINKS(A1;MAX(ISTZAHL(TEIL(A1;SPALTE(1:1); 1)*1)*SPALTE(1:1))); VERGLEICH(1;ISTZAHL(TEIL(A1&0;SPALTE(1:1); 1)*1)*1;0); LÄNGE(A1))}
B3{=1*TEIL(LINKS(A3;MAX(ISTZAHL(TEIL(A3;SPALTE(3:3); 1)*1)*SPALTE(3:3))); VERGLEICH(1;ISTZAHL(TEIL(A3&0;SPALTE(3:3); 1)*1)*1;0); LÄNGE(A3))}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
Matrix verstehen

(1* habe ich davorgeschrieben, damits eine Zahl wird und nicht Text bleibt.)
Und der Code könnte so aussehen:

Option Explicit    ' immer zu empfehlen
Private Sub CommandButton1_Click()
Dim strName As String, ii As Integer, lngErg As Long
strName = ThisWorkbook.Name
Range("A10").Value = strName
For ii = 1 To Len(strName)
If IsNumeric(Mid$(strName, ii, 1)) Then
lngErg = 10 * lngErg + CLng(Mid$(strName, ii, 1))
Else
If lngErg > 0 Then Exit For
End If
Next ii
Cells(10, 2) = lngErg
End Sub

Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich
Anzeige
AW: Erste Zahl aus Dateinamen
25.01.2012 14:34:40
karl
Danke Erich, schon eingebaut.
Ich verwende das Makro, weil hierbei die Zahl auch eine andere sein kann.
karl
Danke für deine Rückmeldung, und ...
25.01.2012 14:42:23
Erich
Hi Karl,
noch eine kleine Einschränkung:
Das Mako läuft falsch, wenn die erste Zahl im Text nur einer oder mehreren Nullen besteht.
Wenn dahinter Text und dann wieder Ziffern kommen, werden diese Ziffern zum Ergebnis.
Um das zu vermeiden, müsste man einen (booleschen) Schalter einbauen, den man anstelle von "If lngErg > 0" abfragt.
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich
AW: Danke für deine Rückmeldung, und ...
25.01.2012 14:50:52
karl
OK, danke für diese Info.
-Nullen sind nicht vorgesehen, aber gut zu wissen...
karl
Anzeige

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige