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

Zahlen aus Textfeld isolieren

Forumthread: Zahlen aus Textfeld isolieren

Zahlen aus Textfeld isolieren
27.09.2004 23:47:25
Dan
Hilfe!! Meine Frage: Wie kriegt man Zahlenwerte aus einer Zelle mit Text und Zahlen raus (Bsp: "aguhgiou 12", isoliert werden soll "12")? Weis echt keine Lösung... :(
Dan
Anzeige

20
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
GetNumberFromString
28.09.2004 00:01:11
sergiesam
Hi,
du kannst diese Funktion verwenden

Function GetNumberFromString(nr As Variant) As Long
'Löscht alle Zeichen außer Ziffern aus der Zeichenkette
Dim i As Byte, zchn As String
nr = nr & ""
For i = 1 To Len(nr)
zchn = Mid(nr, i, 1)
If zchn >= "0" And zchn <= "9" Then GetNumberFromString= GetNumberFromString& zchn
Next i
End Function


gruß,
sam
Anzeige
AW: GetNumberFromString
28.09.2004 00:05:42
Dan
Danke, klingt gut! Wie muss ich das einfügen, damit's klappt? Einfach ins Funktionsfeld oder...???
Dan
AW: Zahlen aus Textfeld isolieren
28.09.2004 00:08:33
Reinhard
Hi Dan,
Alt+F11, Einfügen Modul, dort den Code eingeben.

Function zahl(wert As String)
For n = 1 To Len(wert)
If Asc(Mid(wert, n, 1)) >= 48 And Asc(Mid(wert, n, 1)) <= 57 Then zahl = zahl & Mid(wert, n, 1)
Next n
zahl = Val(zahl)
End Function

Anwendung:
A1: aguhgiou 12
B1: =zahl(a1)
Gruß
Reinhard
Anzeige
AW: Zahlen aus Textfeld isolieren
28.09.2004 00:12:39
Dan
OK, ich probiers...:)
Und Dezimalzahlen? oT
28.09.2004 00:13:10
Boris
Grüße Boris
AW: Und Dezimalzahlen? oT
28.09.2004 01:13:53
K.Rola
Hi Boris,
was ist mit negativen Zahlen? Was, wenn - mehr als einmal auftaucht? Was, wenn das
, mehrmals auftaucht? Fragen....
Gruß K.Rola
Anzeige
AW: Zahlen aus Textfeld isolieren
28.09.2004 00:20:17
Dan
Hat funktioniert, vielen Dank!!! Hat mir echt eine Menge Arbeit erspart :)
Dan
@Boris*g
28.09.2004 00:31:06
Reinhard
Hallo Boris,
ich wusste, Dan heisst mit Nachnamen Ganzzahl :-)))
Gruß
Reinhard
AW: Zahlen aus Textfeld isolieren
28.09.2004 00:17:44
k.reffert
Hallo, bin selbst noch Anfänger, aber DAS habe ich heute zufällig gelernt:
im VBA-Editor Modul anlegen, dort mit folgendem Code

Function anlegen, im Excel-Sheet dann die Funktion im Funktionsassistenten unter "benutzerdefiniert" aufrufen...:

Function ZiffernSuche(ZA As String) As String
Dim Z As String * 1
Dim ZN As String
Dim I As Integer
For I = 1 To Len(ZA) ' vom ersten bis zum letzten Zeichen des Ausdrucks
Z = Mid(ZA, I, 1) ' ab hier haben wir erst mal genau ein Zeichen
ZN = ZN & IIf(IsNumeric(Z), Z, "") ' handelt es sich um Ziffer?
Next
ZiffernSuche = Left(ZN, I) ' Ausgabe der I Anzahl Ziffern
End Function


Anzeige
Gleiche Schwachstelle: Dezimal...oT
28.09.2004 00:19:38
Boris
Grüße Boris
AW: Gleiche Schwachstelle: Dezimal...oT
28.09.2004 00:29:10
k. reffert
Hi, Boris, da hast du natürlich recht... Ich benutze es, um aus unterschiedlichsten Strings die Bankleitzahl zu extrahieren, da hatte ich es auf 8 Zeichen begrenzt und es kommen keine Dezis vor... Dachte, es könne hier vielleicht als Ansatz dienen, hab soviel Gutes schon von diesem Forum erfahren, da möchte ich als blutiger Anfänger natürlich gern teilen...
Tolle Arbeit macht ihr hier!
Schöne Grüsse,
Karin
Anzeige
AW: Zahl rechts stehend aus Text extrahieren
28.09.2004 01:01:52
FP
Hi Karin,
{=RECHTS(GLÄTTEN(A1);ANZAHL(N(TEIL(A1;SPALTE(1:1);1)+0>0)))+0}
wenn sicher ist, dass rechts von der Zahl keine Leerstellen vorkommen, kannst Du GLÄTTEN weglassen
{=RECHTS(A1;ANZAHL(N(TEIL(A1;SPALTE(1:1);1)+0>0)))+0}
ein Beispiel:
AW: kürzer geht's nicht
28.09.2004 01:21:28
FP
Hi Karin,
@Franz wg: kürzer geht's nicht
28.09.2004 23:22:28
k.reffert
Hallo, Franz,
da du mich direkt ansprichst, will ich dir auch gern antworten.
Erstmal danke für deine schönen Formeln, die ich gleichmal in meine Sammlung aufnehme...
2 Anmerkungen:
- die Excel-Hilfe zu SPALTE ist mal wieder echt intelligent (oder ich zu blond); kannst du
mir sagen was dieser Ausdruck genau bewirkt? SPALTE(1:1) liefert den gleichen Wert wie
SPALTE(5:5) [nämlich 1 für erste Spalte = A, vermute ich], aber sicher hast du dir doch
etwas dabei gedacht, daß in der Formel eben nicht SPALTE(A1) oder SPALTE(A5) usw. steht?
Vielleicht verstehe ich ja dann auch den "plus Null"-Teil...
- Hättest du auch eine Formel parat, mit dem man zB. auch aus "za2345hl" den Ziffernteil
extrahieren kann, oder auch aus "za1h34l678 5"? Von letztgenannter Konstellation bin ich
bei Dan's Frage ausgegangen...
Schöne Grüsse ins Salzkammergut,
Karin-die-Wißbegierige
Anzeige
AW: @Franz wg: kürzer geht's nicht
29.09.2004 12:31:28
Boris
Hi Karin,
bin zwar nicht Franz, aber:
Aus "za2345hl" wird 2345 mit Array-Formel:
{=TEIL(LINKS(A1;MAX(ISTZAHL(TEIL(A1;SPALTE(1:1);1)*1)*SPALTE(1:1)));VERGLEICH(WAHR;ISTZAHL(TEIL(A1;SPALTE(1:1);1)*1););99)*1}
Funktioniert auch für Dezimalzahlen.
Für "za1h34l678 5" siehe:
http://www.excelformeln.de/formeln.html?welcher=103
Grüße Boris
http://www.excelformeln.de
Anzeige
AW: oder etwas kürzer
29.09.2004 22:19:40
FP
Hi Boris,
für links, rechts oder mittig stehende Dezimalzahlen:
AW: oder etwas kürzer
29.09.2004 23:29:41
k.reffert
@Boris, @Franz:
Vielen Dank für die kompetente Auskunft, ihr seid einfach unschlagbar...!
Eure Formeln lass' ich mir morgen "auf der Zunge zergehen", für heut' bin ich zu müde...
Grüsse,
Karin-die-zu-euch-aufschaut
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige