Hey,
die Fehlermeldung war Laufzeitfehler 1004. Die delete methode des range objekts konnte nicht ausgeführt werden.
Habe die betroffene Zeil Fett und mit einem Pfeil makiert.
Sub SpaltenLöschen()
Dim KillSpalten As Range, rngTmp As Range
Dim ArBegriffe(), ArWS_Ausnahme()
Dim oWSh As Worksheet
'Begriffe die erhalten bleiben sollen
ArBegriffe = Array("File Name", "Sample Name", "Sample", "RT Target Cmpd", "Area Target Cmpd", "Theor. Conc. Unit")
'Ausnahme Tabellen in denen nicht gelöscht werden soll
ArWS_Ausnahme() = Array("Tabelle1", "Tabelle2", "Tabelle3")
For Each oWSh In ActiveWorkbook.Worksheets
If Not IsNumeric(Application.Match(oWSh.Name, ArWS_Ausnahme, 0)) Then
For Each rngTmp In oWSh.UsedRange.Rows(12).Cells
If Not IsNumeric(Application.Match(rngTmp.Value, ArBegriffe, 0)) Then
If Not KillSpalten Is Nothing Then
Set KillSpalten = Union(rngTmp.EntireColumn, KillSpalten)
Else
Set KillSpalten = rngTmp
End If
End If
Next rngTmp
If Not KillSpalten Is Nothing Then
---> KillSpalten.EntireColumn.Delete
Set KillSpalten = NoCthing
End If
End If
Next oWSh
End sub
Eine Idee? Wäre cool :)
Gruß John
|