Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1008to1012
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
Inhaltsverzeichnis

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!

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

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


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
Anzeige
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

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige