Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zelle mit Zahl zerlegen

Forumthread: Zelle mit Zahl zerlegen

Zelle mit Zahl zerlegen
18.09.2008 14:57:00
Karsten
Hallo Leute,
folgendes Problem:
ich habe in der Zelle N3 eine Versionsnummer stehen (Beispiel) 1.23.45.
Wobei die Position der Punkte nicht fest ist, also wären auch 12.3.45 oder 12.34.56 möglich.
Diese Versionsnummer möchte ich nun in VBA auf 3 Variablen verteilen, also X1, X2 und X3. um sie dann weiter zu verarbeiten.
Irgendwie finde ich keine Lösung und auch die suche hat nichts ergeben.
Gruß Karsten
PS.: ist bestimmt ganz easy und ich sehe den Wald vor lauter Bäumen nicht!
Anzeige

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zelle mit Zahl zerlegen
18.09.2008 14:59:28
Hajo_Zi
Hallo Karsten,
mache es ojne VBA Daten, Text in Spalten

AW: Zelle mit Zahl zerlegen
18.09.2008 15:10:41
Karsten
Hallo Hajo,
ist leider nicht möglich die Versionsnummer auf mehere Spalten "splitten" , da diese Zahlenabfolge anderweitig abgefragt wird.
Gruß Karsten.
AW: Zelle mit Zahl zerlegen
18.09.2008 15:24:51
Hajo_Zi
Hallo Karsten,
in VBA ist es Split

Anzeige
AW: Zelle mit Zahl zerlegen
18.09.2008 15:25:49
Karsten
Hallo Hajo,
SPLIT gibt es in Excel97 noch nicht :-(
Gruß Karsten
AW: Zelle mit Zahl zerlegen
18.09.2008 15:24:58
Chris
Servus Karsten,
so:

Sub tt()
Dim DatArray, Index, i As Long
DatArray = Range("A1")
Index = Split(DatArray, ".")
For i = LBound(Index) To UBound(Index)
MsgBox Index(i)
Next i
End Sub


wobei deine Versionsnummer in diesem Makro in A1 stehen muss (ggf. anpassen).
Gruß
Chris

Anzeige
AW: Zelle mit Zahl zerlegen
18.09.2008 15:28:44
Karsten
Hallo Chris,
vielen Dank, aber leider gibt es in Excel97 kein Splitt :-(
Gruß Karsten
AW: Zelle mit Zahl zerlegen
18.09.2008 17:39:00
Chris
Servus,
falls es immer noch nicht geht. das funktioniert auch in xl97:

Sub t()
Dim DatenArray(), Reihenfolge(), Zusammen(), x, y, i
For i = 1 To Len(Range("A1"))
If IsNumeric(Mid(Range("A1"), i, 1)) Then
ReDim Preserve DatenArray(x)
ReDim Preserve Reihenfolge(x)
DatenArray(x) = Mid(Range("A1"), i, 1)
Reihenfolge(x) = i
x = x + 1
End If
Next i
For i = LBound(Reihenfolge()) + 1 To UBound(Reihenfolge())
If Reihenfolge(i) = Reihenfolge(i - 1) + 1 Then
DatenArray(i) = DatenArray(i - 1) & DatenArray(i)
DatenArray(i - 1) = ""
End If
Next i
For i = LBound(DatenArray()) To UBound(DatenArray())
If DatenArray(i)  "" Then
ReDim Preserve Zusammen(y)
Zusammen(y) = DatenArray(i)
y = y + 1
End If
Next i
For i = LBound(Zusammen()) To UBound(Zusammen())
MsgBox Zusammen(i)
Next i
End Sub


Gruß
Chris

Anzeige
AW: Zelle mit Zahl zerlegen
18.09.2008 17:55:00
Karsten
Hallo Chris,
vielen Dank für Deine Bemühungen.
Werde Deine Lösung auch mal ausprobieren.
Die andere Lösung von Peter habe ich zum laufen gebracht. Woher der Fehler 35012 kam, keine Ahnung.
Gruß Karsten
Split 97
18.09.2008 15:29:00
Peter
Servus,
wie schon gesagt gibt es Vers. 97 noch kein Split, aber Tom Ogilvy hat sich dazu mal was ausgedacht.

Function Split97(sStr As Variant, sdelim As String) As Variant
'Tom Ogilvy
Split97 = Evaluate("{""" & _
Application.Substitute(sStr, sdelim, """,""") & """}")
End Function


Anzeige
AW: Split 97
18.09.2008 16:03:10
Karsten
Hallo Peter,
vielen Dank, Deine Funktion hilft das Split "einzusetzen", aber wenn ich dann etwas editieren möchte erhalte ich immer eine Fehlermeldung:
"Unerwarteter Fehler (35012)"
Gruß Karsten
AW: Split 97
18.09.2008 16:22:36
Peter
Servus,
kann ich nicht nachvollziehen, mit meinem Bsp. geht das ohne Probleme.
Generell muss ich das auf der Arbeit oft verwenden (leider die selbe xls. Version),
hatte noch nie Probleme.

Sub t()
Dim sWert(2) As String
Dim arrWert
Dim iCount As Integer
sWert(0) = "1.23.45.": sWert(1) = "12.3.45": sWert(2) = "12.34.56"
For iCount = LBound(sWert) To UBound(sWert)
arrWert = Split97(sWert(iCount), ".")
Debug.Print arrWert(1) & Chr(13) & arrWert(2) & Chr(13) & arrWert(3)
Next
End Sub


Ergebnis:
1
23
45
12
3
45
12
34
56
P.S.: Sonst nutze halt die Funktion von Rudi, diese benutzt auch kein Split
MfG
Peter

Anzeige
AW: Split 97
18.09.2008 17:57:00
Karsten
Hallo Peter,
die erste Variante läuft jetzt doch mit Deiner Slipt97 Function.
Woher der Fehler 35012 kam und wieso, keine Ahnung.
Deshalb hier nochmals, vielen Dank für Deine Hilfe.
Hat mir wirklich sehr geholfen!!!!
Gruß Karsten
AW: Zelle mit Zahl zerlegen
18.09.2008 15:30:26
Rudi
Hallo,
da ich nicht weiß, ob es in VBA5 Replace schon gab, ein wenig komplizierter:

Sub tt()
Dim strZahl As String, arrZahl
strZahl = "1.23.45"
arrZahl = Split(strZahl, ".")
End Sub
#If VBA6 Then
#Else
Function Split(strZahl As String, strDelim As String)
Dim i As Integer, strTmp As String
For i = 1 To Len(strZahl)
strTmp = strTmp & IIf(Mid(strZahl, i, 1) = strDelim, ",", Mid(strZahl, i, 1))
Next
Split = Evaluate("{" & strTmp & "}")
End Function
#End If

Gruß
Rudi

Anzeige
AW: Zelle mit Zahl zerlegen
18.09.2008 16:03:00
Karsten
Hallo Rudi,
vielen Dank, aber Excel97 hat kein Split :-(
Gruß Karsten
AW: Zelle mit Zahl zerlegen
18.09.2008 16:14:31
Rudi
Hallo,
habe ich auch nicht behauptet.
Dafür habe ich ja die Function beigefügt.
Gruß
Rudi
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

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