Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1248to1252
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

Split function in Office 97

Split function in Office 97
Dirk
Hallo zusammen,
Ich musste gerade feststellen das es in Office 97 die Funktion Split nicht gibt.
hat einer diese Funktion zufälligerweise für mich?
Gruß
Dirk
AW: http://www.cpearson.com/Excel/Split.aspx
14.02.2012 11:10:45
Dirk
Hallo NoNet,
das dachte ich vorhin auch.
leider hatte ich nichts brauchbares gefunden und das Splitex funktioniert auch nicht. :-(
ich habe eine anneiander reihung an Textexten, die ich in ein Array geblittet haben muss.
SplitEx("Cu,Mn,Fe,Cr", ",") da kommt dann sowas hier raus arr(1)="Fe,Cr"
und das ist ja leider nicht richtig
Gruß
Dirk
Alternative : SplitNoNet()
14.02.2012 11:35:26
NoNet
Hallo Dirk,
da hast Du Recht !
Bevor ich mich jetzt auf die Fehleranalyse in diesem Code begebe, habe ich selbst eine einfache kleine SPLIT()-Funktion nachprogrammiert :
Function SplitNoNet(strText As String, Optional strZ As String = ",")
'Ersatz für SPLIT()-Funktion
'Aufruf : Msgbox UBOUND(SplitNoNet("abc,def,ghi",","))
'oder : MsgBox SplitNoNet("Jan/Feb/Mrz/Apr/Mai/Jun","/")(3)
'14.02.2012, NoNet - www.excelei.de
Dim lngP As Long, strT As String
Dim arrT()
ReDim arrT(0)
strT = strText
While InStr(strT, strZ) > 0
lngP = InStr(strT, strZ)
If lngP > 0 Then
arrT(UBound(arrT)) = Left(strT, lngP - 1)
End If
strT = Mid(strT, lngP + 1, Len(strT) - lngP)
ReDim Preserve arrT(UBound(arrT) + 1)
Wend
arrT(UBound(arrT)) = strT 'letztes Element anhängen
SplitNoNet = arrT
End Function
Mit SPLITNONET("Jan/Feb/Mrz/Apr/Mai/Jun","/")(3) erhält man das Ergebnis "Apr" (Indizierung beginnt Excel-üblich mit 0)
Gruß, NoNet
Anzeige
AW: Alternative : SplitNoNet()
14.02.2012 11:38:29
Dirk
Du bist ein schatz ;-)
Dank dir
Dirk
AW: Alternative : SplitNoNet()
14.02.2012 11:42:55
Dirk
Das die grundfunktion so kurz wird hätte ich nicht gedacht
Coole Sache
Danke nochmal läuft super
@Dirk : Geht auch noch kürzer
14.02.2012 12:50:50
NoNet
Hallo Dirk,
ein kleines bisschen lässt sich diese UDF noch verkürzen :
Function SplitNoNet(strT As String, Optional strZ As String = ",")
'Ersatz für SPLIT()-Funktion in älteren EXCEL-Versionen
'Aufruf : Msgbox UBOUND(SplitNoNet("abc;def;ghi",";")) => 2
'oder : MsgBox SplitNoNet("Jan/Feb/Mrz/Apr/Mai/Jun","/")(3)
'oder : MsgBox SplitNoNet("1,2,3")(1) => "2"
'14.02.2012, NoNet - www.excelei.de
Dim lngP As Long, arrT()
ReDim arrT(0)
While InStr(strT, strZ)
lngP = InStr(strT, strZ)
If lngP Then arrT(UBound(arrT)) = Left(strT, lngP - 1)
strT = Mid(strT, lngP + 1, Len(strT) - lngP)
ReDim Preserve arrT(UBound(arrT) + 1)
Wend
arrT(UBound(arrT)) = strT 'letztes Element anhängen
SplitNoNet = arrT
End Function
Gruß, NoNet
Anzeige
AW: Split function in Office 97
14.02.2012 11:20:54
Oberschlumpf
Hi Dirk
Und wieso erstellst du nicht deine eigene Split-Funktion?
Is vllt n bissi Arbeit, aber mit VBA = gut sollte es gehen, oder?
Ciao
Thorsten
AW: Split function in Office 97
14.02.2012 11:36:54
Dirk
moin Thorsten,
eine Funktion an sich zu schreiben ist kein großes Problem.
die Splitfunktion an sich ist aber sehr komplex.
da würd ich ein paar h brauchen, bis ich die habwegs vernünfig am laufen habe.
es gibt hier aber bestimmt den ein oder anderen, der das ganze schon mal nachgebaut hatte.
Gruß
Dirk
Ein paar h ? - Habe ich in 10 Min. gemacht ;-)
14.02.2012 11:42:13
NoNet
Hallo Dirk,
da würd ich ein paar h brauchen

Das ist aber sehr "gemütlich" - kommt natürlich auch auf den Anspruch an !
Ich habe das in ca. 10 Min. runterprogrammiert (mit Tests und Korrekturen) - siehe https://www.herber.de/forum/archiv/1248to1252/t1250605.htm#1250622 - und selbst das ist noch sehr "träge", das kann man sicherlich auch in 3 Min. erledigen - aber ganz so "sportlich" sind meine Finger (und "grauen Zellen") dann doch nicht ... ;-)
Salut, NoNet
Anzeige
Mehr hätte mich auch verwundert! ;-) orT
15.02.2012 01:26:28
Luc:-?
Gruß Luc :-?

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige