Использование обработки ошибок для удаления листов на основе значения списка - PullRequest
0 голосов
/ 25 ноября 2018

Итак, у меня есть список с несколькими именами и одним значением, которое является опцией «все имена».Когда имя выбрано, добавляется рабочий лист с информацией об этом имени.Когда выбраны «все имена», добавляются несколько листов, по одному для каждого имени.

Я пытаюсь включить некоторую обработку ошибок, которая удалит существующую таблицу имен, если кто-то дважды выберет один и тот же.Мне удалось заставить код работать для функции «все имена», где он будет удалять все листы, кроме панелей данных / фоновых данных, а затем повторно вставлять листы имен.Однако у меня возникают проблемы с тем, чтобы заставить его работать, когда выбрано одно имя.

Вот мой код обработки ошибок.У меня это идет к этому OnError.Во второй части я просто использую одно из возможных значений имени, Джон.Имя листа и значение списка будут одинаковыми.

ErrorHandling:

If (Err.Number = 1004 And EmpListBox.Value = "All Names")Then
   For Each ws In Worksheets
     Select Case ws.Name
     Case "Dashboard", "Data", "Employees"
     Case Else
         ws.Delete
     End Select
   Next
'this is where it is not working
ElseIf (Err.Number = 1004 And EmpListBox.Value = "John") Then
    Sheets("John").Delete
Resume Main
End If

1 Ответ

0 голосов
/ 25 ноября 2018

ErrorHandling:

If Err.Number = 1004 Then
    If EmpListBox.Value = "All Names" Then
        For Each ws In Worksheets
            Select Case ws.Name
                Case "Dashboard", "Data", "Employees"
                Case Else
                    ws.Delete
            End Select
       Next
   Else
       Sheets(EmpListBox.Value).Delete
   End If
End If
Resume Main
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...