【发布时间】:2018-11-25 03:36:52
【问题描述】:
所以我有一个列表框,其中包含多个名称和一个值,即“所有名称”选项。选择名称后,将添加一个包含有关该名称的信息的工作表。选择“所有名称”时,会添加多个工作表,每个名称一个。
我正在尝试进行一些错误处理,如果有人两次选择相同的名称表,它将删除现有的名称表。我能够让代码为“所有名称”功能工作,它将删除除仪表板/背景数据之外的所有工作表,然后重新插入名称表。但是,在选择一个名称的情况下,我无法让它工作。
这是我的错误处理代码。我有它去这个 OnError。对于第二部分,我只使用了其中一个潜在的名称值,John。工作表名称和列表框值将相同。
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
【问题讨论】:
-
如果工作表存在,则使用返回布尔值的函数并调用stackoverflow.com/q/6688131/6241235,然后您可能可以重写上述内容并删除当前的错误处理。
标签: excel vba error-handling