vba 查找指定内容_VBA代码解决方案第58讲:在VBA中查找指定工作表的方法

d3dafdf415ef37a657d32399a983d38b.png

大家好,我们今日继续讲解VBA代码解决方案的第58讲内容:在VBA中查找指定工作表的方法。在上一个例子中,我们通过一个自定义函数解决了删除工作表的方法。其实实现目的的方法有很多种,不必要必须有某种办法,但是写程序的人,比如我,有着很大的惰性,或者说是偏爱某一种方法,比如,我特别喜欢用LEFT和RIGHT来进行左右的截取操作,虽然很多的时候用MID会更简单些,唉,真的没办法。在完成某项目的也是如此,如果不是用自定义函数,只是用遍历工作表的方法也可以实现的。今天的例子也是如此。所以有的朋友自认为自己有更好的方法,其实,有些时你是对的,或者说是对的,但对于做程序的人来说不一定会采用你认为好的方法,就这么简单。

今天我们讲查找某个工作表的方法,在实际的应用中往往要先查到某个工作表,然后再进行操作控制。判断工作簿中是否存在指定名称的工作表,当然可以使用遍历工作簿中所有工作表的方法外,单今天我仍要自定义函数的方法。

Function MyExistSh(Sh As String) As Boolean

Dim Sht As Object

On Error Resume Next

Set Sht = Sheets(Sh)

If Err.Number = 0 Then MyExistSh = True

Set Sht = Nothing

End Function

代码解析:

自定义MyExistSh函数包含一个String类型的参数,代表需要判断的工作表名称。如果该工作表存在,则返回True。

第5行代码判断前面的代码是否出错,如果前面的代码存在错误,则表示不存在指定名称的表。

使用自定义ExistSheet函数判断工作簿中是否存在指定名称的工作表,如下面的代码所示。

Sub MyNotSht()

Dim Sh As String

Sh = InputBox("请输入查找的工作表名称:")

If Len(Sh) > 0 Then

If Not MyExistSh(Sh) Then

MsgBox "对不起,您查找的" & Sh & "工作表不存在!"

Else

Sheets(Sh).Select

End If

End If

End Sub

代码解析:

MyNotSht过程使用自定义的ExistSh函数判断工作簿中是否存在指定名称的工作表,如果不存在则使用消息框进行提示.

下面看代码的实测,代码窗口截图:

636593ffb68a995f898d2527cebf03ac.png

代码的运行:

9eaa83fb33531afc589986c1a2c9da91.png

当录入kk后点击确认,页面的ACTIVESHEET会转到KK的工作表。

ebbd3f83433afe92b76ce42d94e3e52c.png

今日内容回向:

1 查找工作表的思路是怎么样的?

2上述代码中If Err.Number = 0 Then MyExistSh = True是什么意思?

欢迎大家到我的自媒体平台沟通交流:个人微信号“NZ9668”、头条号“VBA专家”、百家号“VBA与GO语言”、微信公众号“NZ_9668”、社群“VBA学习交流群”。

这一系列文章是根据我多年的工作经验编写的,也是一直在利用的工具,非常方便好用。现在分享出来,希望能对同样在职场打拼的朋友有些许的帮助,使你的工作更加高效、流畅。朋友们有问题请随时提出来,我们一起探讨学习。对数据分析有需要的公司、组织或个人可以直接联系我,及时为你提供专业的定制技术支持。

工作不是一切。工作是每个人安身立命、成长发展的基础。但你要知道工作是永远也做不完的,时间会抹去很多问题。多关注自己、家人和朋友,这些才是我们生活中更为重要的东西。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值