sqlserver查询某个表是否存在_神奇的Excel VBA系列之:如何判断某工作表是否存在...

在前一篇文章中分享了制作工作表目录的源码过程。 其中有个判断当前工作簿中是否存在指定名称的工作表代码片段。 本篇中将介绍几种使用VBA代码来判断工作表是否存在的方法。有关Excel VBA编程,可参考使用《神奇的VBA》插件。

529cb8a55d4b746a8affa5b025791b21.png

假设我们想判断工作簿中是否有名称为“东门子订单数据”的工作表。

第一种方法: 使用VBA遍历循环的方法

d55ac615f6718d569e8ad038dae2d8a1.png
Sub 判断工作表是否存在_方法2()Dim d As ObjectSet d = CreateObject("Scripting.Dictionary")Dim sht As WorksheetFor Each sht In Worksheets   d(sht.Name) = ""NextIf d.exists("东门子订单数据") Then    MsgBox "存在"Else    MsgBox "不存在"End IfEnd Sub

该方法中综合运用了,For Each遍历循环语句和 Exist Sub语句来返回是否存在的结果。 这种方法VBA初学者最开始会选用这种思路。不过对于初学者而言,务必注意在循环语句中加入Exist Sub,否则将永远显示不存在。

第2中方法: VBA 字典方法

d55ac615f6718d569e8ad038dae2d8a1.png
Sub 判断工作表是否存在_方法2()Dim d As ObjectSet d = CreateObject("Scripting.Dictionary")Dim sht As WorksheetFor Each sht In Worksheets   d(sht.Name) = ""NextIf d.exists("东门子订单数据") Then    MsgBox "存在"Else    MsgBox "不存在"End IfEnd Sub

第3种方法: 巧妙运用On Error...错误语句方法来判断是否存在。

d55ac615f6718d569e8ad038dae2d8a1.png
Sub 判断工作表是否存在_方法3()Dim sht As WorksheetOn Error Resume NextSet sht = Worksheets("东门子订单数据")If Not sht Is Nothing Then    MsgBox "存在"Else    MsgBox "不存在"End IfSet sht = NothingEnd Sub

我们也可以将平时职场VBA编程中高频重复的代码片段写成通用函数,以便其它VBA程序调用。以第一种方法为例。 我们改造写成如下Function函数代码形式:

d55ac615f6718d569e8ad038dae2d8a1.png

我们将函数名随便起了个名字叫IsSheetExisted,函数只有一个字符串型参数tabname代表以后要传入的工作表标签名称,函数返回Boolean类型结果(True/False)。下面,我们就可以在其它VBA程序中使用该函数了,见下面代码:

Sub 判断工作表是否存在()MsgBox IIf(IsSheetExisted(""), "存在", "不存在")End Sub

我们也可是在单元格区域中使用上面的IsSheetExisted函数。

暂时就简单介绍到这里!上面源码复制下来,自己试一下吧。可下载优秀职场人必备的工具《神奇的VBA》插件,一款嵌入进Excel软件窗口功能区界面的应用,打开任意Excel工作簿就能随时参考查阅学习VBA编程的Excel 插件。

e5019ed96ba471ad2c283d6640f113be.gif
20aa5f96095b888079b92e1cd469cf7f.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值