打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
VBA: 判断某张工作表是否存在

        文章背景:在操作Excel文件时,有时需要判断指定的工作表是否存在,根据判断结果进行后续操作。下面提供两种自定义函数。

        (1)遍历法

Function IsExistsSheetName1(strPath As String, SheetName As String) As Boolean

   '如果目标工作表存在,返回TRUE;否则,返回FALSE

   'strPath:指定文件的全路径(Full path)
 
   Dim tempSheet As Worksheet
   
   Workbooks.Open strPath
   
   IsExistsSheetName1 = False
   
   For Each tempSheet In ActiveWorkbook.Worksheets
   
       If tempSheet.name = SheetName Then
               
           IsExistsSheetName1 = True
           
           Exit For
   
       End If
   
   Next tempSheet
               
   ActiveWorkbook.Close SaveChanges:=False
 
End Function

     如果Excel文件内有很多张工作表,则遍历法比较费时间,下面介绍试错法。

(2)试错法

Function IsExistsSheetName2(strPath As String, SheetName As String) As Boolean

   '如果目标工作表存在,返回TRUE;否则,返回FALSE

   'strPath:指定文件的全路径(Full path)
 
   Dim tempSheet As Worksheet
   
   Workbooks.Open strPath
   
   IsExistsSheetName2 = False
   
   On Error Resume Next
   Set tempSheet = ActiveWorkbook.Sheets(SheetName)
   
   If Err.Number = 0 Then
       
       IsExistsSheetName2 = True
   
   End If
   
   On Error GoTo 0
             
   ActiveWorkbook.Close SaveChanges:=False
   
End Function

注意:需要确保指定路径(strPath)的文件已存在;否则,程序会报错。

参考资料:

[1] vba判断sheet是否存在(https://blog.csdn.net/jyh_jack/article/details/103456259

[2] 快速判断工作簿中是否存在指定工作表(https://blog.csdn.net/taller_2000/article/details/104111477

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
写一句VBA代码,让Excel自动发邮件~
请问一个在vba中创建数据透视表的问题 - 『 VBA交流 』 - OFFICE精英俱乐部...
合并/拆分 Excel?Python、VBA轻松自动化
如何将Excel工作簿的所有工作表一次导出成多个独立文件?
Excel引用其它工作簿中的单元格的值及使用VBA操作
[VBA]拆分工作表
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服