1.3k Aufrufe
Gefragt in Tabellenkalkulation von
Hallo,

Ich will mehrere CSV Dateien öffnen, bearbeiten und speichern.
Wenn ich das folgende Makro laufen lasse wird die Datei geöffnet,
aber nicht nach Semikolon getrennt. Bedeutet mehrere Zellen in
einer Zelle.

So wie ich gelesen habe,kann man das mit "Local:= True"
erledigen. Leider weiss ich nicht, wie ich es machen kann.

Könnt Ihr bitte da weiter helfen?


Sub MWMultiDateiUpdate()
Dim oSourceBook As Object
Dim sPfad As String
Dim sDatei As String

Application.ScreenUpdating = False 'Das "Flackern" ausstellen

'Schritt 1: Schleife über alle Excel Dateien in einem Verzeichnis
sPfad = "C:\TEST\Sammlung\"
sDatei = Dir(CStr(sPfad & "*.csv")) '

Do While sDatei <> ""

'Schritt 2: öffnen der Datei und Datenübertragung
Set oSourceBook = Workbooks.Open(sPfad & sDatei, False,
False) 'nur lesend öffnen

'CODE

'Schritt 3: Datei speichern und wieder zu machen und nächste
Schleifenrunde
Application.DisplayAlerts = False
oSourceBook.Close True 'speichern
Application.DisplayAlerts = True

'Nächste Datei
sDatei = Dir()

Loop

Application.ScreenUpdating = True 'Das Bildschirm-Aktualisieren
wieder einschalten

'Variablen aufräumen
Set oSourceBook = Nothing

2 Antworten

0 Punkte
Beantwortet von flupo Profi (17.9k Punkte)
Das Problem, dass die Zeilen als langer String in der ersten Spalte
landen, kannst du nachträglich mit
Selection.TextToColumns..., Semicolon=True,...

korrigieren.

Gruß Flupo
0 Punkte
Beantwortet von
oder du verwendest einen weiteren Parameter und öffnest die Datei mit der Zeile

Set oSourceBook = Workbooks.Open(sPfad & sDatei, False,
False,4)

Gruß Mr. K.
...