Guten Morgen zusammen,
ich könnte mal wieder Hilfe von den Profis hier gebrauchen.
Über eine Userform lassen ich unteranderem auch CSV Datei in ein Tabellenblatt einlesen und mir gleichzeichtig, zwecks weiterverarbeitung,
den Dateinamen in eine Zelle schreiben. Dieser ist im Grunde immer gleich "Aufgebaut" und da ich nur ein Teilstück davon benötige wollte ich mir diesen nun per
Instr, Instrev und Mid aus der Zelle rausholen.
Der Dateiname sieht wie folgt aus: (was mir auch in der ersten MsgBox wiedergegeben wird)
1. cito001_LULUXCACN_PZ46_DI_SA_DRITTLAND_20210422074609.csv
2. cito001_GBCVTBACN_DRITTLAND_033_Di_Fr_20210422051506.csv
3. adwfwm_NLHAGIACE_Export_028_DI_SA_20210422074803.csv
Und der Code zum Testen über einen Button sieht so aus:
In der Zweiten MsgBox erhalte ich allerdings immer nur:
Zu 1. bekomme ich allerdings immer nur "DRITTLAND_20210422074609.csv"
Zu 2. "033_Di_Fr_20210422051506.csv"
Zu 3. "028_DI_SA_20210422074803.csv"
Ich dachte schon daran das es vielleicht an einem anderen Teil im gesamt Code liegt aber auch nur mit dem CommandButton
und einem von Hand kopierten Dateinamenn in die Zelle erhalte ich die selben Ergebnisse.
Was übersehe ich? oder wo liegt mein Fehler?
Das l = InStr(1, pstrInt, "_") + 1 anscheinend nicht das erste "_" erkennt sondern immer 2 bis 3 "-" überspringt?
Ich habe auch schon etliche verschiedene Möglichkeiten versucht aber die Lösung war noch nicht dabei.
Wäre schon wenn mir jemand Sagen könnte worans liegt.
VG und nen schönen Start in die neue Woche.
ich könnte mal wieder Hilfe von den Profis hier gebrauchen.
Über eine Userform lassen ich unteranderem auch CSV Datei in ein Tabellenblatt einlesen und mir gleichzeichtig, zwecks weiterverarbeitung,
den Dateinamen in eine Zelle schreiben. Dieser ist im Grunde immer gleich "Aufgebaut" und da ich nur ein Teilstück davon benötige wollte ich mir diesen nun per
Instr, Instrev und Mid aus der Zelle rausholen.
Der Dateiname sieht wie folgt aus: (was mir auch in der ersten MsgBox wiedergegeben wird)
1. cito001_LULUXCACN_PZ46_DI_SA_DRITTLAND_20210422074609.csv
2. cito001_GBCVTBACN_DRITTLAND_033_Di_Fr_20210422051506.csv
3. adwfwm_NLHAGIACE_Export_028_DI_SA_20210422074803.csv
Und der Code zum Testen über einen Button sieht so aus:
Visual Basic:
Private Sub CommandButton13_Click()
Worksheets("Tabelle2").Select
Dim pstrInt As Variant
Dim l As Long
Dim r As Long
Dim pstrX As String
pstrInt = Cells(1, 5).Value
MsgBox pstrInt '# Kontrolle ob Zelle richtig erkannt wurde
If pstrInt > 0 Then
l = InStr(1, pstrInt, "_") + 1
r = InStrRev(pstrInt, "_")
pstrX = Mid(pstrInt, r - l)
End If
MsgBox pstrX '# Kontrolle von ausgeschnittener Zeichenfolge
End Sub
In der Zweiten MsgBox erhalte ich allerdings immer nur:
Zu 1. bekomme ich allerdings immer nur "DRITTLAND_20210422074609.csv"
Zu 2. "033_Di_Fr_20210422051506.csv"
Zu 3. "028_DI_SA_20210422074803.csv"
Ich dachte schon daran das es vielleicht an einem anderen Teil im gesamt Code liegt aber auch nur mit dem CommandButton
und einem von Hand kopierten Dateinamenn in die Zelle erhalte ich die selben Ergebnisse.
Was übersehe ich? oder wo liegt mein Fehler?
Das l = InStr(1, pstrInt, "_") + 1 anscheinend nicht das erste "_" erkennt sondern immer 2 bis 3 "-" überspringt?
Ich habe auch schon etliche verschiedene Möglichkeiten versucht aber die Lösung war noch nicht dabei.
Wäre schon wenn mir jemand Sagen könnte worans liegt.
VG und nen schönen Start in die neue Woche.