[英]Run Macros if Sheet Does Not Exist
我试图仅在不存在工作表的情况下运行一组宏。 我有一个宏,用于创建工作表并将两个工作表中的数据合并到其中,另一个宏用于格式化新工作表。 由于它需要在打开的工作簿上运行,因此无法让它一次又一次地重新创建工作表。 我一直在尝试以下操作,但它给出了错误:“未定义子或函数”:
Private Sub Workbook_Open()
If SheetExist("MyNewSheet") Then
End Sub
Else
Combine
Format
End Sub
如果工作表存在,您什么也不做,因此请更改测试。
Private Sub Workbook_Open()
If Not SheetExist("MyNewSheet") Then
Combine
Format
End If
End Sub
Function SheetExist(sheetname As String) As Boolean
SheetExist = True ' replace this with code from link below
End Function
在这里使用答案: Excel VBA如果存在WorkSheet(“ wsName”)作为确定表单是否存在的函数的示例。
是的,问题是“ End Sub”应该是“ Exit Sub”。您也可以使用上方/下方的解决方案。
您的固定代码为:
Private Sub Workbook_Open()
If SheetExists("MyNewSheet") Then
Exit Sub
Else
Combine
Format
End If
End Sub
也:
Public Function SheetExists(ByVal WorksheetName As String) As Boolean
On Error Resume Next
WorksheetExists = (Sheets(WorksheetName).Name <> "")
On Error GoTo 0
End Function
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.