Excel教程下载和99uu优优中心,Microsoft技术社区联盟成员,全球领先的Excel门户,Office技术培训的最佳社区

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

2017-10-05  作者:ExcelHome  阅读:

我们今天分享的VBA小代码的内容有两个,分别是:  

1. 批量取消隐藏工作表
2. 批量提取单元格内的超链接地址

●  如何批量取消隐藏工作表

先说一下如何批量隐藏工作表。
我们可以按住Ctrl键,用鼠标分别选取需要隐藏的工作表标签(如果所隐藏是连续的表格,可以使用Shift键),使之成为一个工作表组合,然后通过右键菜单的【隐藏】功能,将该工作表组合中的工作表一次性隐藏起来~


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

如果需要取消隐藏的工作表很多,这样操作就很烦琐。
如何一次性全部取消隐藏表格呢?有一个技巧是通过预先设置【自定义月视图】,但依然有局限性。

可以使用以下VBA小代码:
Sub qxyc()
    Dim sht As Worksheet
    '定义变量
    For Each sht In Worksheets
    '循环工作簿里的每一个工作表
        sht.Visible = xlSheetVisible
        '将工作表的状态设置为非隐藏
    Next
End Sub
动画操作示意:

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

●  如何批量提取单元格内的超链接网址


如上图,A列单元格的数据设置了超链接,现在需要把超链接的网址提取出来,结果参考B列。
Excel本身并没有提供这样的函数,所以通常还是使用到VBA编程,下面是一个VBA自定义函数GetAdrs。

Function GetAdrs(Rng)
    Application.Volatile True
    With Rng.Hyperlinks(1)
        GetAdrs = IIf(.Address = "", .SubAddress, .Address)
    End With
End Function

将代码复制黏贴到工作簿的VBE界面新建的模块中,在B1单元格输入公式=getadrs(A1),并复制填充到B3单元格,就可以得到结果了。

转载请注明来源"ExcelHome"并保留原文链接。
固定链接:http://www.excelhome.net/lesson/article/excel/1867.html
分享到:
    上一篇:简单实用的Excel图表技巧,只有7.5%的人还不会
    下一篇:Excel多工作表快速汇总,简单才是硬道理
Copyright 1999 - 2017 Excel Home.All Rights Reserved.
本站特聘法律顾问:徐怀玉律师 李志群律师   沪ICP备11019229号 沪公网安备 31011702000001号
征信       
99uu优优