Makro - mehrere csv Dateien aus einem Verzeichnis bearbeiten (bestimmten Bereich löschen) und speichern
Guten Morgen,
leider bin ich ein absoluter Neuling im Bereich Makros und benötige eure Hilfe.
Meine Aufgabenstellung wurde hier evtl. bereits behandelt. Allerdings blicke ich aufgrund meiner nicht vorhandenen Erfahrung mit vba nicht durch , welche "Bausteine" mir bereits weiterhelfen würden.
Daher bitte ich zu entschuldigen, falls es eine ähnliche Frage bereits gab.
Meine Aufgabe:
Ich habe diverse .csv Dateien in einem Ordner abgelegt (ca. 10-30). Diese Dateien haben alle denselben Aufbau.
In Zeile 1 steht eine Kopfzeile, welche unberührt bleiben soll.
Der Bereich C2:W [bis zum Ende]) soll gelöscht werden, so dass der Inhalt aus Spalte X (also ab X2) in der Spalte C (also ab C2) steht. Anschließend soll die Datei gespeichert werden.
Dies konnte ich mit einem Makro abbilden, so dass folgender Code herauskommt:
Sub löschenspeichern()
'
' löschenspeichern Makro
'
'
Range("C2:W2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Delete Shift:=xlToLeft
Range("A1").Select
ActiveWorkbook.Save
End Sub
Meine Bitte ist nun, wie erweitere ich dieses Makro um folgende Funktionen:
- Es soll alle Dateien aus einem bestimmten Verzeichnis auswählen
- Es soll alle Dateien wieder zurück speichern
Für eure Hilfe bedanke ich mich im Vorfeld.
Grüße
Fred
leider bin ich ein absoluter Neuling im Bereich Makros und benötige eure Hilfe.
Meine Aufgabenstellung wurde hier evtl. bereits behandelt. Allerdings blicke ich aufgrund meiner nicht vorhandenen Erfahrung mit vba nicht durch , welche "Bausteine" mir bereits weiterhelfen würden.
Daher bitte ich zu entschuldigen, falls es eine ähnliche Frage bereits gab.
Meine Aufgabe:
Ich habe diverse .csv Dateien in einem Ordner abgelegt (ca. 10-30). Diese Dateien haben alle denselben Aufbau.
In Zeile 1 steht eine Kopfzeile, welche unberührt bleiben soll.
Der Bereich C2:W [bis zum Ende]) soll gelöscht werden, so dass der Inhalt aus Spalte X (also ab X2) in der Spalte C (also ab C2) steht. Anschließend soll die Datei gespeichert werden.
Dies konnte ich mit einem Makro abbilden, so dass folgender Code herauskommt:
Sub löschenspeichern()
'
' löschenspeichern Makro
'
'
Range("C2:W2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Delete Shift:=xlToLeft
Range("A1").Select
ActiveWorkbook.Save
End Sub
Meine Bitte ist nun, wie erweitere ich dieses Makro um folgende Funktionen:
- Es soll alle Dateien aus einem bestimmten Verzeichnis auswählen
- Es soll alle Dateien wieder zurück speichern
Für eure Hilfe bedanke ich mich im Vorfeld.
Grüße
Fred
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 327237
Url: https://administrator.de/forum/makro-mehrere-csv-dateien-aus-einem-verzeichnis-bearbeiten-bestimmten-bereich-loeschen-und-speichern-327237.html
Ausgedruckt am: 22.05.2025 um 23:05 Uhr
10 Kommentare
Neuester Kommentar

Geht doch viel schneller mit PS
Gruß mik
$source = "C:\Ordner"
$delimiter = ";"
gci $source -Filter *.csv | %{
$csv = gc $_.FullName
1..($csv.Count-1) | %{
$cols = $csv[$_].split($delimiter)
$csv[$_] = "$($cols[0..1] -join ',')$(','*22)$($cols[23])"
}
$csv | set-content $_.FullName
}

PS = Powershell
Hat heute jeder Windows-Rechner bereits an Bord.
Hat heute jeder Windows-Rechner bereits an Bord.

Leider ist die Ausführung von PowerShell (bzw. die Skripts) auf meinem Rechner untersagt.
Deppen, PS sperren aber VBA-Makros zulassen Na dann, findest du alles hier...
Mittels VBA Makro Excel Zellen auslesen und diese in eine CSV Datei exportieren