Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
996to1000
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

Zeichenkette zerlegen

Zeichenkette zerlegen
06.08.2008 07:04:26
SteffenS
Hallo Zusammen,
beim zerlegen von Zeichenketten habe ich noch so meine Probleme.
Und zwar habe ich einen Wert der zwischen zwei "_" steht.
z.b.: ok_30_sales
Ich jetzt die z.b: 30 in eine variable einlesen. Wie bekomm ich das hin?
Mein Problem ist, dass es nicht immer nur eine 2 stellige Zahl ist.
Danke im Voraus.
MFG
Steffen Schmerler

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeichenkette zerlegen
06.08.2008 07:26:27
Heiko
Hallo Steffen,
z.B. so, wenn es per VBA sein soll. Was ich aus deinem Satz " z.b: 30 in eine variable einlesen " schließe.

Sub Trennenn()
Dim strText As String
Dim dblWert As Double
strText = "okdgsdg_30000.00001_sales"
dblWert = Val(Right(strText, Len(strText) - InStr(1, strText, "_")))
MsgBox dblWert
End Sub


Gruß Heiko
PS: Rückmeldung wäre nett !

hey super
06.08.2008 07:40:00
SteffenS
das ging so.
Hast mir sehr geholfen damit :-))))
VG
Steffen

AW: Zeichenkette zerlegen
06.08.2008 11:35:14
Daniel
Hi
schau mal nach, ob die Split-Funktion in Excel 2000 schon implementiert ist.
Wenn ja, dann gehts so:

Wert = Val(split("ok_30_sales","_")(1))


Gruß, Daniel

Anzeige
@ Daniel
06.08.2008 11:56:44
Heiko
Hallo Daniel,
die Split Funktion ist mir natürlich auch bekannt.
Aber wo findet man den Hinweis, woher weißt du, das mit (split("ok_30_sales","_")(1)) der 2. Datensatz des ja nicht mal dimensionierten Array´s zurückgegeben wird.
In der VBA Hilfe steht nichts dazu.
Gruß Heiko
PS: Rückmeldung wäre nett !

AW: @ Daniel
06.08.2008 12:12:03
Daniel
Hi
mit Split wird ein Array erzeugt, daß automatisch die passende Grösse entsprechend der erzeugten Elementanzahl erhält.
dh wenn du das Split-Ergebnis einer Variable zuweisen willst, dann solltest du sie als "offenes Array" dimensionieren, dh. Dim SplitErgbnis() as String
in einem Array hat das erste Element im Regelfall die Index-Nr 0, also hast das 2. Element die Index-Nr 1.
Gruß, Daniel

Anzeige
AW: @ Daniel
06.08.2008 12:42:09
Heiko
Hallo Daniel,
ist mir soweit alles klar, Split , Join, A´rray´s usw.
aber dieses Programm

Sub trennnnn()
MsgBox Val(Split("10_30_1000", "_")(1))
End Sub


funktioniert ja ohne das überhaupt ein Array exestiert.
Wo hast du herausgefunden das mit (1) hinten dran, der zweite Datensatz des "nicht vorhandenen" Array´s ausgegeben wird. In der Hilfe ist dazu nichts erwähnt.
Gruß Heiko

AW: @ Daniel
06.08.2008 13:41:05
Daniel
Hi
wieso, das Array existiert doch.
die Funktion SPLIT(...) selbst ist das Array (das muss nicht dimensioniert werden, ist ja eine bestehende Excelfunktion), und davon lass ich mir den Wert mit der Index-Nr 1 ausgeben, die Formel sieht dann so aus: SPLIT(...)(1) (dh. die Klammern der Split-funktion gehören dann quasi zum Array-Namen dazu)
wie man sowas rausfindet? durch mitlesen hier im Forum und die Erfahrung, das bspw RANGE("A1:C10")(1) auch ein sinnvolles Ergebnis liefert (die erste Zelle des genannten Zellbereichs)
Gruß, Daniel

Anzeige
AW: @ Daniel
06.08.2008 14:23:57
Heiko
Hallo Daniel,
ja danke, nun habe ich es verstanden. Muss man erstmal drauf kommen.
Also wieder was gelernt, danke.
Gruß Heiko

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige