HERBERS Excel-Forum - das Archiv
Ziffern aus Text auslesen
siegfried

Hallo zusammen,
ich habe in einer Liste Daten stehen, die aus Text und Ziffern bestehen.
Die Ziffern stehen durchgängig am Ende und sind immer durch einen Punkt getrennt.
Die Ziffern sind zwischen 1 bis 4 stellig.
z.B.
Test.27
Test.1
Test.124
Test.4096
Aus diesen Daten möchte ich per VBA in einer Schleife nur die Ziffern auslesen.
Dazu verwende ich den folgenden Code:
For Zähler = 1 To Meldg - RowGrEnde - 1
iRow = Range("E1").Offset(RowGrEnde + Zähler, 0).Value
For Zähler1 = 1 To Meldg - RowGrEnde - 1
If Right(Range("F1").Offset(RowGrEnde + Zähler1, 0).Value, _
Len(Range("F1").Offset(RowGrEnde + Zähler1, 0).Value) - _
Application.WorksheetFunction.Find(".", _
Range("F1").Offset(RowGrEnde + Zähler1, 0).Value)) = iRow Then
If RowGrEnde + Zähler1 größer RowGrEnde + GrFeld Then
Range("BD1").Offset(RowGrEnde + Zähler, 0).Value = RowGrEnde + Zähler1
Exit For
End If
End If
Next Zähler1
Next Zähler
Gelegentlich erhalte ich eine Fehlermeldung, dass die Find Function nicht ausgeführt werden kann.
Was mache ich falsch? Oder kennt jemand eine andere Methode zum Auslesen von Ziffern?
Gruß
Siegfried

AW: Ziffern aus Text auslesen
ransi

Hallo
Möglichkeiten gibts da viele.
Ich nutze sowas:
Tabelle1

 ABC
1Test.2727 
2Test.11 
3Test.124124 
4Test.40964096 
51212 
6a12a  
7   

Formeln der Tabelle
ZelleFormel
B1=machs(A1)
B2=machs(A2)
B3=machs(A3)
B4=machs(A4)
B5=machs(A5)
B6=machs(A6)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit


Public Function machs(zelle)
Dim regex As Object
Dim objM As Object
machs = ""
Set regex = CreateObject("vbscript.Regexp")
With regex
    .Pattern = "[0-9]+$"
    Set objM = .Execute(zelle.Text)
    If objM.Count > 0 Then machs = objM(0).Value
End With
End Function


ransi
Ziffern aus Text auslesen ohne VBA
Matthias
AW: Ziffern aus Text auslesen ohne VBA
siegfried

Hallo Ransi und Matthias,
eure Vorschläge trennen zwar die Ziffern vom Text, allerdings auch dann, wenn dazwischen kein Punkt steht. Dadurch kann ich beide Vorschläge nicht gebrauchen, weil in meiner Liste auch Text und Ziifern ohne Trennzeichen (Punkt) oder auch nur Text steht. Im übrigen benötigen beide Vorschläge ebenfalls die Find Function.
Gruß
Siegfried
Ausgangsdaten unklar !!
ransi

Hallo
Jetzt wirds komisch....
ich habe in einer Liste Daten stehen, die aus Text und Ziffern bestehen.
Die Ziffern stehen durchgängig am Ende und sind immer durch einen Punkt getrennt.

weil in meiner Liste auch Text und Ziifern ohne Trennzeichen (Punkt) oder auch nur Text steht
Das beisst sich doch ?!?
ransi
AW: Ausgangsdaten unklar !!
siegfried

Hallo Ransi und Matthias,
eure Aussage stimmt, sorry
richtig ist, dass bei den relevanten Daten, die Ziffern durch einen Punkt getrennt sind.
Gruß
Siegfried
AW: Ausgangsdaten unklar !!
ransi

HAllo Siegfried
So ?
Tabelle2

 AB
1Test.2727
2Test.11
3Test.124124
4Test.40964096
51234 
6abc12abc 

Formeln der Tabelle
ZelleFormel
B1=machs(A1)
B2=machs(A2)
B3=machs(A3)
B4=machs(A4)
B5=machs(A5)
B6=machs(A6)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit


Public Function machs(zelle)
Dim arr
machs = ""
arr = Split(zelle.Text, ".")
If UBound(arr) > 0 Then
    If IsNumeric(arr(UBound(arr))) Then machs = CDbl(arr(UBound(arr)))
End If
End Function


ransi
AW: Ausgangsdaten unklar !!
siegfried

Hallo Ransi,
Danke, Dein Ansatz mit der Function Split bringt mich weiter.
Siegfried
Sorry, aber ...
Matthias

Hallo
Zitat:
Die Ziffern stehen durchgängig am Ende und sind immer durch einen Punkt getrennt.
... dann war Deine Angabe falsch.
Gruß Matthias
=WENN(ISTZAHL(...
Rudi

Hallo,
=WENN(ISTZAHL(FINDEN(".";A1));TEIL(A1;FINDEN(".";A1)+1;99)+0;"")
Gruß
Rudi
AW: Ziffern aus Text auslesen ohne VBA
Höttl

Hallo!
Noch einige Formeln.
Test

 ABC
1Zahl vom Text links, rechts, mitte trennen  
2  Hilfsspalte
3Wein 96,981Text links96,981
4   
5Wein 96,981Text links96,981
6   
754,122   kleinText rechts54,122
8   
954,122   kleinText rechts54,122
10   
11öä 54,1245 äöText egal54,1245

Formeln der Tabelle
ZelleFormel
C3=RECHTS(A3;SUMMENPRODUKT(N(ISTZAHL(RECHTS(A3;SPALTE(2:2))*1))))*1
C5{=TEIL(A5;VERGLEICH(WAHR;ISTZAHL(TEIL(A5;SPALTE(1:1); 1)*1); 0); LÄNGE(A5))*1}
C7=LINKS(A7;SUMMENPRODUKT(N(ISTZAHL(LINKS(A7;SPALTE(6:6))*1))))*1
C9{=LINKS(A9;MAX(ISTZAHL(TEIL(A9;SPALTE(1:1); 1)*1)*SPALTE(1:1)))*1}
C11{=TEIL(LINKS(A11;MAX(WENN(ISTZAHL(TEIL(A11;SPALTE(1:1); 1)*1); SPALTE(1:1)))); VERGLEICH(WAHR;ISTZAHL(TEIL(A11;SPALTE(1:1); 1)*1); 0); LÄNGE(A11))*1}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
Matrix verstehen


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß
Wilfried