Zahl vom Text über Makro trennen?

Bild

Betrifft: Zahl vom Text über Makro trennen?
von: Kasimir
Geschrieben am: 09.09.2015 20:09:38

Hallo Leute!
Ich habe ein Problem. Ich habe eine Liste, in der ich Zahlen von Texten trennen muss. In Spalte A stehen in den Zellen eine Kombination aus Zahlen und Text. Als Beispiel z.B.
100Text
1204TextText
12Text

Ich möchte nun die Zahl vom Text trennen und den Text löschen. Für obiges Beispiel müsste dann das Ergebnis wie folgt aussehen:
100
1024
12

Wie stelle ich das am geschicktesten in Form eines Makros an?
Ich bin Euch für jede Hilfe dankbar,
Kasimir

Bild

Betrifft: AW: Zahl vom Text über Makro trennen?
von: Gerd L
Geschrieben am: 09.09.2015 20:17:05
Hallo Kasimir!

Sub t()
Dim Z As Long
For Z = 1 To 3
    Cells(Z, 2) = Val(Cells(Z, 1))
Next
End Sub

Gruß Gerd

Bild

Betrifft: AW: Zahl vom Text über Makro trennen?
von: Kasimir
Geschrieben am: 09.09.2015 20:20:49
Hallo Gerd!
Wow, das ging ja mal schnell und die Lösung ist auch noch recht simpel. Danke Dir für die Lösung. Dir noch einen schönen Abend.
MfG
Kasimir

Bild

Betrifft: AW: Zahl vom Text über Makro trennen?
von: Matthias L
Geschrieben am: 09.09.2015 20:23:45
Hallo
Geht bei mir nur wen die Zahl immer vorn steht!
Wieso soll aber aus 1204TextText plötzlich 1024 werden ? Seltsam!
Gruß Matthias

Bild

Betrifft: AW: Zahl vom Text über Makro trennen?
von: Gerd L
Geschrieben am: 09.09.2015 20:32:27
Hallo Matthias,
natürlich geht das nur, wenn der Zahlenteil links steht - wie in den gezeigten Beispielen.
Und den Rest buchen wir unter Schreibfehler.
Gruß Gerd

Bild

Betrifft: kein Problem Gerd, mir fiel das nur eben auf, owT
von: Matthias L
Geschrieben am: 09.09.2015 20:35:54


Bild

Betrifft: Na, da war wohl das 'saubere Schläfer-Geschenk'...
von: Luc:-?
Geschrieben am: 09.09.2015 23:33:00
…von gerademal gestern so ziemlich umsonst (genauso wie mein 10 Jahre älteres), Leute,
wenn hier nicht darauf verwiesen wird! :-|

 ABCDE
7100Text100=--Sauber(A7)100=--MaskOn(A7;"num")
81204TextText1204=--Sauber(A8)1204=--MaskOn(A8;"num")
912Text12=--Sauber(A9)12=--MaskOn(A9;"num")
10     
11100=--Sauber("100Text")`=--Sauber(´`)´
121204=--Sauber("1204TextText")
1312=--Sauber("12Text")
14     
15100=--MaskOn("100Text";"num")`=--MaskOn(´`;"num")´
161204=--MaskOn("1204TextText";"num")
1712=--MaskOn("12Text";"num")
Die beiden unteren BspErgebnisse erzielt man, wenn man den blauen FmlText in den durch `…´ markierten Teilen per SubProzedur um den Originaltext herumlegt. Vorteil → das Original bleibt erhalten (kann ggf rekonstruiert wdn) und es wird keine separate Ergebnisspalte benötigt, die dann ggf auf das Original, dieses vernichtend, zurückgespeichert wdn muss. Das wäre hier die eigentliche Heraus­forderung gewesen, nicht die, das Rad zum xten mal neu zu erfinden (auch, wenn der Deutsche angeblich gerade dazu neigt)… ;->
Übrigens fktn beide UDFs auch, wenn die Zahl (hier wohl möglichst nur eine!) an anderer Stelle im Text steht.
Gruß, Luc :-?

Besser informiert mit …

Bild

Betrifft: Hier mal noch eine Alternative
von: Matthias L
Geschrieben am: 09.09.2015 21:00:13
Hallo

 AB
1T1e0x0t100
210Tex0t100
3Text100100


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4


Option Explicit
Sub Zahlen()
Dim MyMid&, x&, strg$
For x = 1 To 3
strg = ""
 For MyMid = 1 To Len(Cells(x, 1))
  If IsNumeric(Mid(Cells(x, 1), MyMid, 1)) Then
   strg = strg & Mid(Cells(x, 1), MyMid, 1)
  End If
 Next
 Cells(x, 2) = strg
Next
End Sub

Gruß Matthias

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Zahl vom Text über Makro trennen?"