【增强版】快速判断工作簿中是否存在指定工作表

39 篇文章 0 订阅
10 篇文章 0 订阅

《快速判断工作簿中是否存在指定工作表》介绍了两种方法实现判断工作表是否存在与工作簿中,最近发现有更简单的方法实现,在这里和大家分享一下。

示例代码如下。

Function blnSheetExist(ByVal strSht As String) As Boolean
    blnSheetExist = (TypeName(Application.Evaluate(strSht & "!A1")) = "Range")
End Function

Sub Demo()
    Dim aSht
    aSht = Array("Sheet1", "Sheet2")
    For Each sSht In aSht
        Debug.Print sSht & " exist -  " & blnSheetExist(sSht)
    Next
End Sub

【代码解析】
核心代码只有一行,也就是第2行代码,Evalate方法用于将名称转换一个对象或者值,其中strSht & "!A1"为A1样式引用。
TypeName函数用于返回变量的类型,如果工作簿中存在名称为strSht的工作表,那么函数返回值为Range,如果工作表表不存在,那么返回值为Error
这样单行代码就可以轻松实现判断工作表是否存在的自定义函数。


运行Demo过程结果如下。

在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值