MS office Excel Makro zum Spalten löschen?

realmoney

Gesperrt
23 März 2008
900
104
Moinsen

Steh vor nem kleinem problem.Ich hab hier einige 100 .CSV Files.
Alle CSV Files müssen auf die gleiche Art bearbeitet werden.Und zwar müssen alle Spalten bis auf A gelöscht werden.

Hat jemand ne Idee wie ich das hinkriege?Am besten wenn ich direkt 100 CSV Files gleichzeitig öffne,Marko ausführen und warten.
Denn alle per Hand ändern ist ein bisschen anstrengend :(

Hab bisher folgendes Makro:

Code:
Sub W_Löschen()
Dim i As Integer, Erste As Boolean
Erste = True
For i = 1 To 255
If InStr(1, Cells(1, i), "Marke") > 0 Then
If Not Erste Then
Range(Columns(i), Columns(i)).Select
Selection.Delete Shift:=xlToLeft
i = i - 1
End If
Erste = False
End If
Next i
End Sub

Sollte eigentlich alle Spalten ausser der Spalte "Marke" (was in diesem Fall die 1 Spalte also A ist) löschen.
Es löscht aber gar nix.Bekomme auch keine Fehlermeldung.

Versteh des nicht :(
 
Zuletzt bearbeitet:
Wenn es CSV-Files sind, brauchst du doch Excel gar ned. "Nur erste Spalte erhalten" = pro Zeile ab dem ersten Delimiter alles weglöschen.
Hast du ein Linuxsystem zur Hand, müsstest du das in einer Zeile Shellscript hinkriegen.
 
Wenn es CSV-Files sind, brauchst du doch Excel gar ned. "Nur erste Spalte erhalten" = pro Zeile ab dem ersten Delimiter alles weglöschen.
Hast du ein Linuxsystem zur Hand, müsstest du das in einer Zeile Shellscript hinkriegen.

Mitlerweile hab ich folgendes:

Code:
Sub löschen()
Range("B:B").Delete
Range("C:C").Delete
Range("D:D").Delete
Range("E:E").Delete
Range("F:F").Delete
Range("G:G").Delete
Range("H:H").Delete
Range("I:I").Delete
Range("J:J").Delete
Range("K:K").Delete
Range("L:L").Delete
Range("M:M").Delete
Range("N:N").Delete
Range("O:O").Delete
Range("P:P").Delete
Range("Q:Q").Delete
Range("R:R").Delete
Range("S:S").Delete
Range("T:T").Delete
End Sub

Funzt auch super allerdings nur im Aktuellem Dokument und nicht in allen obwohl es so angegeben is "In allen offenen mappen" :roll:
 
so das sollte eigentlich alle mappen ansprechen aber das tuts nich :( man das is doch doof.wieso geht des nich?wird immer nur 1 mappe bearbeitet :(

Sub AlleArbeitsmappenAnsprechen()

Dim wb As Workbook

For Each wb In Application.Workbooks
Range("B:B").Delete
Range("C:C").Delete
Range("D:D").Delete
Range("E:E").Delete
Range("F:F").Delete
Range("G:G").Delete
Range("H:H").Delete
Range("I:I").Delete
Range("J:J").Delete
Range("K:K").Delete
Range("L:L").Delete
Range("M:M").Delete
Range("N:N").Delete
Range("O:O").Delete
Range("P:p").Delete
Range("Q:Q").Delete
Range("R:R").Delete
Range("S:S").Delete
Range("T:T").Delete
Next wb

End Sub

hat jemand n codeschnippsel der funktioniert???