Hallo Peter,
einen automatischen Start z.B. alle 7 Tage kann ich dir nicht anbieten. Du müsstest nur eine Excel-Datei öffnen und wieder schließen.
Ich gehe davon aus, dass die Überschriften in der 1. Zeile stehen und die Überschrift auch nur "ONC" lautet.
Kopiere das folgende Makro in das VBA-Projekt einer Arbeitsmappe:
Private Sub Workbook_Open()
Dim strPfad As String
Dim strDatei As String
Dim s As Long
Dim w As Long
'Bildschirmaktualisierung ausschalten:
Application.ScreenUpdating = False
'Pfad in dem die zu bearbeitenden Dateien stehen
strPfad = "C:\DS\Export\"
'nur Dateien mit Endung .xlsx öffnen
strDatei = Dir(strPfad & "*.xlsx")
'Schleife zum Einlesen der einzelnen Dateien aus dem Verzeichnis
Do While strDatei <> ""
'Datei nur bearbeiten, wenn es nicht diese Datei ist
If ThisWorkbook.Name <> strDatei Then
'Datei öffnen
Workbooks.Open Filename:=strPfad & strDatei
With Workbooks(strDatei)
'alle Arbeitsblätter der geöffneten Datei durchlaufen
For w = 1 To .Worksheets.Count
With .Worksheets(w)
'Blattspalten von hinten nach vorne durchlaufen
For s = .Cells(1, Columns.Count).End(xlToLeft).Column To 1 Step -1
'Überschrift in ONC in Zeile 1 suchen
If .Cells(1, s).Value = "ONC" Then
'falls gefunden, ganz Spalte löschen
.Columns(s).EntireColumn.Delete
'und Schleife verlassen
Exit For
End If
Next s
End With
Next w
'geöffnete Datei speichern und schließen
.Close SaveChanges:=True
End With
End If
strDatei = Dir
Loop
'Bildschirmaktualisierung einschalten:
Application.ScreenUpdating = True
'Abschlussmeldung
MsgBox "Die Spalten ONC wurden gelöscht", 48, "Hinweis"
End Sub
Speichere die Mappe ab. Beim Öffnen der Mappe wird das Makro automatisch ausgeführt. Nachdem alle Dateien in dem Verzeichnis geöffnet wurden, erscheint ein Abschlussmeldung. Danach kannst du die Mappe wieder schließen.
Es werden nur Excel-Dateien mit der Eindung .xlsx geöffnet. Können auch andere Endungen vorhanden sein, so muss das Makro entsprechend angepasst werden.
Probiere das aber erst einmal mit ein paar Testdateien aus.
Gruß
M.O.