Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA Makro öffnet eine falsche Version einer CSV Datei

VBA Makro öffnet eine falsche Version einer CSV Datei
12.09.2023 08:10:42
amp
immer mal wieder .. VBA Makro öffnet eine falsche Version einer CSV Datei .. das passiert nicht immer

Hallo zusammen,
seit Wochen schlage ich mich mit folgendem Problem rum:

Excel : MS Office 365 geöffnet in APP
Daten liegen auf online sharepoint, auch über "one drive" synchronisiert

Ich habe eine .xlsm Hauptdatei mit einem VBA Makro das eine Datei (CSV) vom One Drive Laufwerk öffnen (und danach Daten automatisch verarbeiten) soll.

Die Rohdaten werden täglich neu immer mit dem gleichen CSV Dateinamen abgespeichert. Über die .XLM Hauptdatei wird ein Makro ausgeführt das diese, zuvor abgespeicherte CSV Datei öffnet und die Daten konvertiert und kopiert.

Beispiel gestern = Aktuelle Datei mit dem Inhalt vom 08.09.2023

Öffne ich die CSV Datei (sie hat immer den gleichen Dateinamen) über das Makro, dann öffnet Excel mir eine Datei (schreibgeschützt) mit dem Datum vom 05.09.2023

Öffne ich die Datei direkt aus dem Explorer oder auch über den sharepoint ist es der 08.09.2023

Ich habe die Datei (CSV) gelöscht, dann meldet das makro den fehler "kann die datei nicht finden" (ist logisch) - dann speichere ich sie (CSV) nochmal ganz neu ab - und dennoch, wenn ich über Makro öffne., 05.09. (wieder schreibgeschützt) anstatt 08.09.

Dann bin ich gerade hingegangen und habe die Datei (CSV) umbenannt (einfach "_1" dran gehangen) und auch im VBA Makro den neuen Namen angegeben.
Ergebnis = RICHTIGE Datei gefunden 08.09. = TOP

Doch nachdem ich dann wieder den Dateinamen wieder auf den alten geändert (umbenannt) hatte, also ohne "_1" (weil ich dachte das es dann funktioniert es wieder), wieder das gleiche Spiel = 05.09. anstatt 08.09.

Irgendwo muss ja wohl ein (oder eine Art) Cache existieren der die alte Datei (05.09) gespeichert hat und diese (anstatt der aktuellen Version) öffnet.

Habt ihr da eine Idee?


Ich kann es temporär lösen indem ich in die geöffnete, schreibgeschützte Datei, unter anderem Namen abspeichere – dann wieder auf den
eigentlichen Namen zurück speichere. Wenn ich sie dann schliesse, eine neue Datei (mit neuen Daten drüber speichere geht es wieder.
Sie ist dann (für eine gewisse Zeit (Tage)) nicht mehr schreibgeschützt, doch irgendwann passiert es wieder und das möchte ich gerne verstehen.

Die .xlsm Hauptdatei hab ich auch schon „ausgetauscht“ (ältere Version genommen), doch es ändert nix – es wird immer noch die falsche CSV geöffnet.

Ich versteh es einfach nicht, vor allem vor dem Hintergrund das wenn ich die CSV komplett lösche, das Makro meckert (ist ja klar), und wenn ich dann unter dem angegebenen Pfad eine komplett neue abspeichere, es dennoch wieder nicht diese Datei ist, die (durch das Makro) geöffnet wird, sondern die mit den alten Daten. Echt irre.

Danke schon jetzt für jeden Lösungsansatz,
André
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Makro öffnet eine falsche Version einer CSV Datei
12.09.2023 08:17:07
mumpel
Hallo!

Zeig doch mal Deinen Code.

Gruß, René
AW: VBA Makro öffnet eine falsche Version einer CSV Datei
12.09.2023 11:11:11
amp
.
AW: VBA Makro öffnet eine falsche Version einer CSV Datei
12.09.2023 08:25:49
amp
Hallo Rene, Bitte:

Sub Daten_aus_CSV()
'
' Daten_aus_CSV Makro

Workbooks.Open Filename:= _
"https://myfedex.sharepoint.com/teams/WFM-Germany/Shared Documents/General/z_Reporting/ACD Inbound/ACD/_virtuelles Routing/Data CCCP/Verint-Yesterday.csv" _
, UpdateLinks:=0
Windows( _
"00er_START-WITH-THIS_Makro-Activities-Verint-MITARBEITERPLAN NACH AGENTEN-ID___Yesterday.xlsm"). _
Activate


Windows("Verint-Yesterday.csv").Activate
Columns("A:A").Select
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1 _
), Array(14, 1), Array(15, 1), Array(16, 1), Array(17, 1), Array(18, 1), Array(19, 1), Array _
(20, 1), Array(21, 1), Array(22, 1)), TrailingMinusNumbers:=True
Windows( _
"00er_START-WITH-THIS_Makro-Activities-Verint-MITARBEITERPLAN NACH AGENTEN-ID___Yesterday.xlsm"). _
Activate
Sheets("Data").Select
Cells.Select
Selection.ClearContents
Windows("Verint-Yesterday.csv").Activate

'das ist STRG-A
Range("A1").CurrentRegion.Select

Range("n12").Activate
Selection.Copy
Windows( _
"00er_START-WITH-THIS_Makro-Activities-Verint-MITARBEITERPLAN NACH AGENTEN-ID___Yesterday.xlsm"). _
Activate
Range("A1").Select
ActiveSheet.Paste
Sheets("Macro").Select
Range("D11").Select


Windows("Verint-Yesterday.csv").Activate

Dim Antwort As VbMsgBoxResult
Dim Meldung As String

Meldung = "Und - sind das die richtigen Daten?"
Antwort = MsgBox(Meldung, vbYesNo + vbQuestion, "VBA-Tutorial")

If Antwort = vbYes Then

ActiveWorkbook.Save
ActiveWorkbook.Close


Sheets("Data").Select

Sheets("Macro").Select

Selection.ClearContents
Range("B9:C11").Select
Selection.Cut
Range("B13").Select
ActiveSheet.Paste
Range("A1").Select
Selection.ClearContents

Else
MsgBox "OK, Abbruch!"

End If

End Sub
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige