Hallo Kollegen,
anbei eine Stringvariable die ich auslesen will. Bei dieser Stringvariable sind die Zahlenkombinationen nach dem ersten / unterschiedlich. Ich habe Ihnen das mal das unvollständige Programm hier aufgeschrieben.
Public Sub CDH1_3X()
x$ = "CDH1MF4/80/63/190A30/B11CMEMZWWWWW"
' x$ Kann aber auch so aussehen =
' "CDH1MP5/100(Kann 2 oder 3 Stellig sein)/80(Kann 2 oder 3 Stellig sein)/90(Kann 2 bis 4 stellig sein)A30/B11CMEMW"
' "CDH1MT4/140/125/500A30/B11CMEMZWAWWW"
' "CDH1MS2/140/125/1500A30/B11CMEMWZWWAWW"
' Baureihe auslesen z.B CDH1
Debug.Print Left(x$, 4)
' Bauform jedes Zylinders auslesen z.B MP5
Debug.Print Mid(x$, 5, 3)
' Kolbendurchmesser auslesen (bei x$ = 80)
' Kolbenstangendurchmesser auslesen (bei x$ = 63)
' Hublänge auslesen (bei x$ = 190)
' Baureihe auslesen (bei x$ = 30)
' Alle Optionen auslesen nach der Bezeichnung A30/
y$ = InStr(x$, "A30/") + 4
Debug.Print Mid(x$, y$, 1)
Debug.Print Mid(x$, y$ + 1, 1)
Debug.Print Mid(x$, y$ + 2, 1)
Debug.Print Mid(x$, y$ + 3, 1)
Debug.Print Mid(x$, y$ + 4, 1)
Debug.Print Mid(x$, y$ + 5, 1)
Debug.Print Mid(x$, y$ + 6, 1)
Debug.Print Mid(x$, y$ + 7, 1)
Debug.Print Mid(x$, y$ + 8, 1)
Debug.Print Mid(x$, y$ + 9, 1)
Debug.Print Mid(x$, y$ + 10, 1)
Debug.Print Mid(x$, y$ + 11, 1)
Debug.Print Mid(x$, y$ + 12, 1)
End Sub
Direktfensterausgabe:
call CDH1_3X
CDH1
MF4
B
1
1
C
M
E
M
Z
W
W
W
W
W
Können Sie mir bitte Lösungsansätzte mitteilen. (Ich habe schon viele Sachen ausprobiert aber das Ergebnis ist bis jetzt immer "sch...."). Der Rest des Auslesen funktioniert einwandfrei.
Oder kennen Sie eine Funktion in der ich die Positionen der / herausfinden könnte? Damit wäre das Problem auch gelöst :-).
Vielen Dank für Eure Bemühungen. PS: Ich bin über jeden Ansatz oder Vorschlag dankbar!
|