Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Dezimal aus String ohne letzte Stelle

Dezimal aus String ohne letzte Stelle
10.02.2009 16:50:00
WolfgangN
Hallo,
Ich lasse mir mit einer Funktion DezimalausString die Ziffern aus einem String auslesen.
Der String setzt sich zusammen aus einer Zahl und der Einheit, z.B.: 1,99942 € /m3.
Leider ermittelt mir die Funktion außer den vorderen Ziffern auch die 3 von Kubikmeter.
Diese brauche ich natürlich nicht. Den Bereich mit Left((xxx),7) einzugschränken hilft natürlich auch nicht, da die Zahl auch 2 € /m3 sein kann. Wie kann ich die Funktion veranlassen die letzte Ziffer von Kubik weg zulassen?
DezimalausString() - Right(),1 geht auch nicht.
Alles befindet sich in einem umfangreichen Makro.
Vielen Dank und Gruß
Wolfgang
Die Funktion lautet:

Function DezimalAusString(Text As String) As Double
Dim Tx As String
Dim Vv As Boolean
Dim Hh As Boolean
Dim i As Long
For i = 1 To Len(Text)
Vv = Hh
If Asc(Mid(Text, i, 1)) >= 48 And Asc(Mid(Text, i, 1)) 


Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dezimal aus String ohne letzte Stelle
10.02.2009 17:04:42
Uwe
Hi Wolfgang,
vielleicht "kurz und schmerzlos" so:?

Function DezimalAusString(Text As String) As Double
Dim Tx As String
Dim i As Long
For i = 1 To Len(Text)
If (Asc(Mid(Text, i, 1)) >= 48 And Asc(Mid(Text, i, 1)) 


Gruß
Uwe
(:o)

Anzeige
Danke
10.02.2009 17:15:06
WolfgangN
Hallo Uwe,
vielen Dank, super, klappt wie gewollt.
Kurz und schmerzlos leider nur für Dich, hatte schon alles mögliche probiert, lange und schmerzvoll.
Also nochmals vielen Dank und Gruß
Wolfgang
AW: Dezimal aus String ohne letzte Stelle
10.02.2009 17:09:00
Ingo
hallo,
ungetestet:
Probier mal:
For i = 1 To Instr(Text,"/")
mfG
Ingo Christiansen
Anzeige
Danke
10.02.2009 17:20:26
WolfgangN
Hallo Ingo,
auch Deine Variante klappt, besten Dank und Gruß
Wolfgang
Einfacher und schneller mit Formel ....
10.02.2009 17:24:45
Renee
Hi Wolfgang,
Wie wärs den mit der Formel (wenn der String in A1 steht):

=LINKS(A1;FINDEN(" ";A1))*1


Die wär sicher 100mal schneller als deine VBA Funktion !
GreetZ Renée

Anzeige
Danke
10.02.2009 17:41:00
WolfgangN
Hallo Renee,
danke für Deine Formel, die auch funktioniert und die sogar ich verstehe.
mal sehen wofür ich mich entscheide, alle 3 Lösungen klappen.
Gruß
Wolfgang
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige