我正在尝试通过VBA代码删除工作表。这里的一般思想是,当工作表的数量达到18个时,我们删除结束工作表。现在,由于工作表是一个集合,我尝试了:
If Worksheets.Count = 18 Then
Worksheets.Remove (Worksheets.Count)
End If
但是会得到一个错误。有什么想法吗?谢谢!
发布于 2016-04-22 14:09:14
您需要先禁用警报,然后再使用delete方法。
Application.DisplayAlerts = False
Worksheets(Worksheets.Count).Delete
Application.DisplayAlerts = True
发布于 2016-04-22 14:10:58
尝试使用Worksheets.Delete("SheetName")
:https://msdn.microsoft.com/en-us/library/office/ff837404.aspx。
If Worksheets.Count = 18 Then
Worksheets.Delete(Worksheets.Count)
End If
发布于 2016-04-22 14:13:06
试试这个:
Sub WorksheetDelete()
Application.DisplayAlerts = False 'To avoid display alert
Do Until ActiveWorkbook.Worksheets.Count>=18
ActiveWorkbook.Worksheets(18).Delete 'Delete the 18th worksheet
Loop
Application.DisplayAlerts = True 'Turn on the Alerts
End Sub
https://stackoverflow.com/questions/36795640
复制