VBA常用小代码002:一键批量取消工作表隐藏

论坛 期权论坛 期权     
数据分析就用Excel   2019-7-20 20:22   5015   0
茫茫的夜空里,听见心跳的声音,虽然相隔万里……

夜好,我们今天分享的VBA小代码的内容有两个,分别是:   
1.批量取消隐藏工作表
2.批量提取单元格内的超链接地址

●如何批量取消隐藏工作表
先说一下如何批量隐藏工作表吧~
按住Ctrl键,点击鼠标分别选取需要隐藏的工作表标签(如果需要隐藏是连续的工作表,也可以先选取首个工作表标签,按住Shift键,选取末位工作表标签进行批量选取),使之成为一个工作表组合,然后使用右键菜单的【隐藏】功能,就可以将该工作表组合中的工作表一次性隐藏起来~


可是,反过来,如果一个工作薄的部分工作表隐藏了,需要批量取消, EXCEL就没有提供这样的功能了,就需要我们一个一个去进行手工操作。
右键单击任意工作表标签,在右键菜单中,选择【取消隐藏工作表】,在弹出的对话框中,选择相应的表名,做【确认】操作。


如果需要取消隐藏的工作表很多,这样操作就很烦琐,很明显,这很不符合您一向高效快捷的工作作风。


如何一次性全部取消隐藏工作表呢?有一个技巧是通过预先设置【自定义视图】,但依然有很大的局限性,这里不提也罢。
其实这事儿几行VBA小代码就可以搞定了:
Sub qxyc()    Dim sht As Worksheet    '定义变量    For Each sht In Worksheets    '循环工作簿里的每一个工作表        sht.Visible = xlSheetVisible        '将工作表的状态设置为非隐藏    NextEnd Sub
顺手配个操作动画:



代码一两行,工作不用忙断肠,说的就是这种情况了。您也动手试一下吧


●  如何批量提取单元格内的超链接网址
如下图所示,A列单元格的数据设置了超链接,现在需要把超链接的网址提取出来,结果参考B列。


Excel本身并没有提供提取单元格内超链接的函数,所以通常还是使用VBA,下面是一个VBA自定义函数GetAdrs,也是就几行代码而已。
Function GetAdrs(Rng)    Application.Volatile True    With Rng.Hyperlinks(1)        GetAdrs = IIf(.Address = "", .SubAddress, .Address)    End WithEnd Function
将代码复制黏贴到工作簿VBE新建的模块中,在B1单元格输入公式=getadrs(A1),并复制填充到B3单元格,就可以得到目标结果了。
好啦,今天分享的内容就酱紫,更多常用VBA小代码,请持续关注:VBA编程学习与实践
握手,听歌,晚安~

当当、天猫、京东各大商城均有出售
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:113
帖子:22
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP