Could you tell me someone why just every second sheet is deleted, however if I turn off the worksheets.delete line than in the message box appears all the sheet names.
What happens is that when you delete a worksheet from the Worksheets collection, the next sheet takes the index of the one you just deleted. You then increment i
, skipping the next sheet that you actually wanted to delete.
The easiest solution is to delete worksheets beginning from the end.
For i = ThisWorkbook.Worksheets.Count To 2 Step -1
Application.Worksheets(i).Delete
Next i
Delete the sheet in reverse. Every time you delete a sheet, the Sheet index gets shifted.
Sub tor()
Dim wsz As Integer, i as Long
wsz = ThisWorkbook.Worksheets.Count
Application.DisplayAlerts = False
For i = wsz To 2 Step -1
ThisWorkbook.Worksheets(i).Delete
Next i
Application.DisplayAlerts = True
End Sub