前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >VBA: 判断某张工作表是否存在

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

作者头像
Exploring
发布2022-09-20 14:42:55
2.6K0
发布2022-09-20 14:42:55
举报
文章被收录于专栏:数据处理与编程实践

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

(1)遍历法

代码语言:javascript
复制
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)试错法

代码语言:javascript
复制
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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-12-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据处理与编程实践 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档