有时,您可能需要知道工作簿中的工作表是否存在,无论是在VBA代码执行期间,还是工作簿中的结果。你可能正在用你的VBA代码创建和删除工作表,并且需要在创建/删除工作表之前测试工作表是否存在,以避免运行时错误。您的工作簿中也可能有依赖于您正在创建或删除的工作表的函数,您需要检查它们是否存在。
用户定义的函数,用于检查当前工作簿中是否存在工作表
这是一个简单的VBA函数,如果当前工作簿包含与函数中传递的名称相同的工作表,则返回true,否则返回false。这个函数是不区分大小写所以Sheet1和Sheet1被认为是相同的(Excel中的表格名称不区分大小写)。这里VBA被格式化为用户定义函数.
Function WorksheetExists(SheetName As String) As Boolean Dim TempSheetName As String TempSheetName = UCase(SheetName) WorksheetExists = False For Each Sheet In Worksheets If TempSheetName = UCase(Sheet. name) Then WorksheetExists = True Exit Function End If Next Sheet End Function
我们可以使用这个代码= WorksheetExists (B3)
测试任何文本字符串,以查看其是否作为工作表名称存在于当前工作簿中。
这对我不起作用,但我通过添加来运行它;
1.暗淡的ws =工作表
2.将所有引用从' Sheet '改为ws