Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1944to1948
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

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é

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

312 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige