VBA удалить без предупреждения любой лист, для которого имя содержит слово «лист» - PullRequest
0 голосов
/ 13 декабря 2018

У меня есть небольшой фрагмент кода VBA, который удаляет рабочий лист «Sheet1» без предупреждения.Я хотел бы, чтобы мой код удалил без предупреждения любой лист, содержащий в своем названии слово «Лист» (например: 1000Sheet, 10Sheet, Sheet2, Sheet3… Sheet1000…)

Заранее большое спасибоХави

Sub ActShtDel()
Application.DisplayAlerts = False
 Sheets("Sheet1").Delete
Application.DisplayAlerts = True
End Sub

Ответы [ 2 ]

0 голосов
/ 13 декабря 2018

Вам нужно перебрать все листы, проверить, что имя содержит «Лист», и, если это так, удалить соответствующий лист.Это должно делать то, что вам нужно

Sub ActShtDel()
Dim ws
Application.DisplayAlerts = False
For Each ws in ThisWorkbook.Worksheets
    If InStr(ws.Name, "Sheet") > 0 Then
        ws.Delete
    End If
Next
Application.DisplayAlerts = True
End Sub
0 голосов
/ 13 декабря 2018

Использование Application.EnableEvents = False

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...