Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
208to212
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
208to212
208to212
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

String durchsuchen und teilen

String durchsuchen und teilen
27.01.2003 15:04:09
Christian
Hallo,

ich habe da ein kleines Problem. Ich habe unterschiedlich lange Strings, wie z. Bsp.: "Page,Device,Group,ItemID,Item,Value". Ich brauche aber nur die beiden letzten Worte (Value und Item). Diese möchte ich dann in unterschiedliche Zellen schreiben. Ich hab das erstmal so gemacht:
Sub daten()

dateiname = Application.GetOpenFilename("Textdateien,*.txt")
If dateiname = "Falsch" Then Exit Sub
zeile = 1
spalte = 1
Open dateiname For Input As #1
Do While Not EOF(1)
For iline = a To b
Line Input #1, sTxt
sTxt = WorksheetFunction.Trim(sTxt)
stelle = Right(sTxt, InStr(sTxt, ","))
laenge = Len(stelle)
sTxt = Left(sTxt, Len(sTxt) - laenge)
stelle2 = Right(sTxt, InStr(sTxt, ","))
laenge = Len(stelle2)
Cells(zeile + 1, spalte).Value = Left(stelle2, laenge - 1)
Cells(zeile + 1, spalte + 1).Value = stelle
spalte = spalte + 1
Next iline
a = a + 2
b = b + 2
zeile = zeile + 1
spalte = 1
Loop
Close
End Sub

Das funktioniert bei dem String oben auch prima aber wenn das Komma nach dem ich immer suche im String mehr als 8 Stellen "entfernt" ist, klappt es nicht mehr und das InStr hat immer den Wert 8. Bei dem String: "Bericht,,,257,Version,AIDA32 v3.20", schreibt er mir in die Zellen: "ion,AID" und "32 v3.20".

Ich hoffe mir kann einer sagen, was ich falsch mache oder wie das einfacher zu lösen wäre (Wie man an dem Code sehen kann bin ich noch Anfänger).

Vielen Dank schonmal,
mfg Christian.

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

Betreff
Datum
Anwender
Anzeige
Re: String durchsuchen und teilen
27.01.2003 15:33:09
Steffan

Hallo Christian,

mit InStr() durchsucht Du Deine Zeichenolge von links beginnend. In Deinem Bsp. findest Du so das Komma an der 8. Stelle (nach 'Bericht'). Verwende InStrRev() um von rechts beginnend zu suchen.

Steffan.

Re: String durchsuchen und teilen
27.01.2003 15:51:55
Christian

Hallo Steffan,

danke für die Antwort. Jetzt funktionierts.

Vielen Dank,

Christian

ich hab auch noch antwort mit viel kürzerm Quellte
27.01.2003 16:02:39
andré

Ich hab mir so viel mühe gemacht: hier mein quelltext

mfg andré

Re: ich hab auch noch antwort mit viel kürzerm Quellte
27.01.2003 16:45:05
Christian

Hallo Andre,

danke für deine Mühe. Ich hab da noch ne Frage: bei der Zeile data() = Split(CStr(sTxt), Chr(44)), sagt er mir sub oder function nich definiert. Wie muss ich das definieren?

danke,

mfg Christian

Anzeige
Re: ich hab auch noch antwort mit viel kürzerm Quellte
28.01.2003 11:10:12
andré

hmm, gute frage.
also ich hab da nix weiter definiert.

- bis auf die variablen:

schreib ganz oben drüber:

dim data() as string
dim dateiname
dim stxt

dann sollte es funktionieren

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige