Split (Expression as string, [Delimiter],[Limit as long = -1], [Compare as CompareMethod = vbBinaryCompare])
Weiß jemand, wie man diese Funktion (ich denke sie ist zum teilen von strings) benutzt? Sie tauch nämlich in keiner Doku auf (weder online-help, noch handbuch).
Das hauptproblem ist wohl der rückgabewert.
Ich habe versucht es strings & variant-arrays zuzuweisen, aber nada.
string = split („h,h“,",")[1]
funktioniert auch nicht.
Im Moment benutze ich einen eigene trennfunktion, aber daran leidet natürlich die geschwindigkei (sie wird SEEHHR oft aufgerufen)
Weiß jemand, wie man diese Funktion (ich
denke sie ist zum teilen von strings)
benutzt? Sie tauch nämlich in keiner Doku
auf (weder online-help, noch handbuch).
Guter Tip: keine Undokumentierten Funktionen verwenden.
Im Moment benutze ich einen eigene
trennfunktion, aber daran leidet
natürlich die geschwindigkei (sie wird
SEEHHR oft aufgerufen)
Wenn Du InStr und Mid verwendest, muesstest Du eine recht schnelle Funktion hinbekommen.
Also, das hilft mir nicht weiter. Hier was ich schon alles versucht habe.
dim v(2) as variant, s(2) as string, ss as string
dim st as string
st = „h h“
v()=split(st)
s()=split(st)
v=split(st)
s=split(st)
Resultat: Fehlermeldung Zuweisunng an Array nicht möglich.
ss = split(st)[1] gibt einen Syntaxfehler
Ich weiss nicht weiter. Am liebsten wäre mir ein Verwendungsbeispiel.
Hey danke, das ist also der Knackpunkt. Man benutzte ein undimensioniertes Array.
Wenn man im deinem Beispiel anstatt strArray() strArray(10) schreibt funktioniert es nämlich nicht mehr!
Dann hätte ich noch die Frage wie ich ein Array das mit dim array(x) oder redim array(x) spezifiziert wurde wieder so hinkriege das es mit split funktioniert?
redim (0) oder so? oder redim ()?
Weißt du´s?
2.)
Dim strArray()
.
.
ReDim strArray(100)
strArray = Split(…
3.)
Dim strArray()
strArray = Split(…
In allen 3 Fällen wird das Array automatisch dimensioniert.
Ist ein Array mit
Dim strArray(100)
deklariert, kann es nicht mehr „umdimensioniert“ werden - auch von Dir nicht!!
Das ist der Grund, warum Split() so nicht funktioniert. Split() dimensioniert das Array() automatisch um. Daher kannst Du Dir vor dem nächsten Aufruf von Split() das
ReDim strArray(0)
schenken.
greets from MichL (Vienna)
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]