2013-07-10 2 views
1

Я сделал программу VBA, и теперь, когда все сделано, мне нужно полностью очистить свою книгу, чтобы запустить программу несколько раз. Для этого я использую этот код:VBA - Метод «удалить» листа с ошибкой

Sub deleteWorksheets() 
Dim ws As Worksheet 

Application.DisplayAlerts = False 

For Each ws In ThisWorkbook.Worksheets 
     ws.Delete 
Next ws 

Application.DisplayAlerts = True 
End Sub 

Но метод delete не работает каждый раз. Я пытался активировать до и установить видимое свойство, ничего не работает.

ответ

3

Вы должны позволить хотя бы одному листу выжить при чистке. Вы не можете удалить их все.

Попробуйте что-то вроде этого:

For Each ws In ThisWorkbook.Worksheets 
    If ThisWorkbook.Worksheets.Count > 1 Then 
     ws.Delete 
    Else 
     ' in case you want to wipe out whatever was in the sheet 
     ws.Cells.Clear 
    End If 
Next ws 
+0

Спасибо большое, я пытался удалить все сразу .. Теперь работает отлично. – Victor

+0

Добро пожаловать. –

Смежные вопросы