Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
476to480
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
476to480
476to480
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

String zerlegen

String zerlegen
02.09.2004 08:40:07
Tobias
hallo,
ich habe ein problem bei dem ich einfach nicht vom fleck komme:
ein habe einen String und den möchte ich in mehrere Teile zerlegen. Dazwischen steht entweder ein " " oder ein ";". Wie kann ich jetzt prüfen ob da noch ein Delemiter kommt oder nicht, bzw wann weiß ich ob überhaupt noch was nach einer bestimmten stelle kommt.
Ich habe das ganze mit der Splitfunktion versucht aber da gibt es immer einen Fehler.
hier mal ein Auszug von meinem versuch:
Diese funktion soll mir die Semikolons in einem übergebenen String zählen.

Private Function count_semi(text As Variant) As Variant
Dim Part As Variant
Dim lauf As Integer
Dim Ende As Boolean
Dim counter As Integer
counter = 0
While Ende = False
Part = Split(text, ";")
If Part(0) <> "" Then
count_semi = counter
Ende = True
End If
If Part(1) Is Not Empty Then
counter = counter + 1
text = Part(1)
End If
Wend
End Function

Das mit dem einfachen Fragen nach ist Part(1) not empty hat den nachteil, das split wenn ich das richtig verstehe sobald mal die länge überschreitet bei der kein Delimiter mehr kommt einen Fehler zurückgibt.
mfg
Tobias

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: String zerlegen
Harald
Hallo Tobias,
mal ein Gerüst:

Sub test()
Const Suchzeichen = ";"
Const Teststring = "Hallo;Was geht?;Wer war's?;Keiner"
Dim TmpString As String
Dim AnzahlDelimiter As Integer
TmpString = Teststring
AnzahlDelimiter = 0
Do While InStr(1, TmpString, Suchzeichen) <> 0
AnzahlDelimiter = AnzahlDelimiter + 1
TmpString = Right(TmpString, Len(TmpString) - InStr(1, TmpString, Suchzeichen))
Debug.Print TmpString
Loop
Debug.Print AnzahlDelimiter
End Sub

Gruß Harald
AW: String zerlegen
Tobias
Hallo Harald,
erst mal danke für die Antwort.
ich habe mir die ganzen Parameter von der Function Split mal genauer angeschaut und da hat sich über eine kleine Änderung des Denkansatzes das ganze auf anderem Wege gelöst.
ÜBer ein Array. Wenn man jetzt die Anzahl der Delimiter haben will zieht man einfach von dem Max Index 1 ab.
#######################################################
Dim lauf As Integer
Dim tempArray() As String

For lauf = 0 To List2.ListCount
List2.List(lauf) = ""
Next

tempArray = Split(text, ";", , vbTextCompare)

For lauf = 0 To UBound(tempArray)
List2.List(lauf) = tempArray(lauf)
Next
#######################################################
aber da ich das semikolonzählen dafür verwenden wollte um mir das max für die schleife , in der die listbox gefüllt wird, zu ermitteln haben sich hier gleich 2 Probleme mit einem mal aufgelöst. =)
gruß
Tobias
Anzeige
AW: String zerlegen
02.09.2004 09:08:58
Tobias
Manchmal sieht man echt den Wald vor lauter Bäumen nicht.
Ein kleiner fehler ist noch drinnen aber ich denk mal das der sich beheben läßt. Denn jetzt wird der Index der Listbox immer hochgezählt und immer wenn ich aus einer listbox was anklicke dann wägst der listbox2 index weiter. =) Mal schaun.
gruß Tobias
AW: String zerlegen
Tobias
war nicht schwer. =) List wird einfach immer vorher gelöscht.
##########################################
While List2.ListCount 0
List2.RemoveItem (0)
Wend
##########################################
gruß Tobias
hat sich erledigt
02.09.2004 09:01:36
Tobias
Das Problem hat sich gelöst und es ist praktischerweise extrem kurz. =)
greetz
Tobias
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige