Ich habe ein Workbook mit den Tabellennamen "2" - "31", "Erstellt am 1. des Mt", sowie anderen Tabellen.
Mit nachfolgendem Code möchte ich in den Tabellen "2" - "31" und "Erstellt am 1. des Mt" alles im UsedRange löschen; die restlichen Tabellen sollen unberührt bleiben.
Der code läuft durch. Komisch ist nur, dass in den Tabellen "4" bis "9" nichts gelöscht wird.
Ist mir vollkommen unklar, weshalb das der Fall ist.
hat jemand eine Idee?
Danke und Gruss, Peter
Sub inhalte_1_to_31_loeschen()
Dim strActiveCell As String, strActiveSheet As String, shName As String
Application.EnableEvents = False
Application.Calculation = xlCalculationManual
'Application.DisplayAlerts = False
ThisWorkbook.Activate
strActiveSheet = ActiveSheet.Name
ActiveCell.Activate
strActiveCell = Selection.Address
Dim tabz As Integer
Dim i As Integer
'Inhalte löschen
tabz = ActiveWorkbook.Worksheets.Count '
For i = 1 To tabz
shName = Worksheets(i).Name
Select Case shName
Case 1 To 31
With Worksheets(shName * 1).UsedRange
.Clear
End With
Case "Erstellt am 1. des Mt"
With Worksheets(shName).UsedRange
.Clear
End With
Case Else
End Select
Next i
Sheets(strActiveSheet).Activate
Range(strActiveCell).Activate
Application.EnableEvents = True
Application.Calculation = xlCalculationAutomatic
Application.DisplayAlerts = True
End Sub