Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
632to636
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
632to636
632to636
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Text von Zahl trennen
07.07.2005 11:48:10
Zahl
Hallo
Wie kann ich per VBA einen Text von einer Zahl trennen. Text und Zahl haben unterschiedliche Längen und sind mit einem Leerschlag getrennt (zB. "Re 2345").
Text/Zahl steht in Spalte C, ich möchte den Text in Spalte B und die Zahl in Spalte C schreiben.
Gibt es auch eine Möglichkeit, wenn kein Leerschlag zwischen Text und Zhal.
Habe im Forum gesucht, aber nicht's gefunden.
Vielen Dank und Gruss
Gregor

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

Betreff
Datum
Anwender
Anzeige
AW: Text von Zahl trennen
07.07.2005 12:03:00
Zahl
Hi Gregor,
folgender Code funktioniert in beiden Fällen, mit und ohne Leerzeichen:

Sub trennen()
Dim a As Integer
Dim b As Integer
For a = 1 To Cells(65536, 3).End(xlUp).Row
For b = 1 To Len(Cells(a, 3).Value)
If IsNumeric(Mid(Cells(a, 3).Value, b, 1)) Then Exit For
Next b
Cells(a, 2).Value = Left(Cells(a, 3).Value, b - 1)
Cells(a, 3).Value = Right(Cells(a, 3).Value, (Len(Cells(a, 3).Value) - (b - 1)))
Next a
End Sub

Allerdings muss der Text immer VOR der Zahl stehen.
Schönen Gruß,
Andi
AW: Text von Zahl trennen
07.07.2005 12:14:54
Zahl
Andi
Herzlichen Dank für die schnelle Antwort. Funktioniert perfekt.
Gregor
Anzeige
Gern geschehen... (ot)
07.07.2005 13:26:25
Andi
.
AW: Text von Zahl trennen
07.07.2005 14:28:11
Zahl
Hallo,
hier eine Variante, bei der es egal ist, ob der Text vor oder nach der Zahl steht und ob überhaupt beide vorkommen.
Dien einzelnen Ziffern werden in der Variablen z gespeichert, die Buchstaben in der Variablen t:

Sub Text_Zahl()
Dim i%, j%, z&, t$
For i = 1 To Cells(65536, 3).End(xlUp).Row
For j = 1 To Len(Cells(i, 3).Value)
If IsNumeric(Mid(Cells(i, 3).Value, j, 1)) Then
z = z & Mid(Cells(i, 3).Value, j, 1)
Else
t = t & Mid(Cells(i, 3).Value, j, 1)
End If
Next j
Cells(i, 4).Value = z
Cells(i, 5).Value = t
z = 0
t = ""
Next i
End Sub

Gruß
Heinz
Anzeige

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige