加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

【Excel VBA】VBA常用小代码(四)

(2016-07-28 22:36:08)
标签:

杂谈

大家好,我是星光,很久没有分享VBA常用小代码系列了。昨个有人说我又太监了……今天我就证明我不是太监,当然,证明的方式不是脱裤子,……好吧,正经一点,我们今天分享的VBA小代码的内容有两个,分别是: 

1.批量取消隐藏工作表。

2.批量提取单元格内的超链接地址。


如何批量取消隐藏工作表

先说一下如何批量隐藏工作表。

我们知道,一个工作薄如果需要批量隐藏部分表格,可以按住Ctrl键,用鼠标分别选取需要隐藏的工作表标签(如果所隐藏是连续的表格,可以使用Shift键),使之成为一个工作表组合,然后通过右键菜单的隐藏功能,统一隐藏起来。

http://ww2/large/005IRek6gw1f69nz39btrj309j08ct9v.jpgVBA】VBA常用小代码(四)" TITLE="【Excel VBA】VBA常用小代码(四)" />


可是,反过来,如果一个工作薄的部分表格隐藏了,需要批量取消隐藏, EXCEL就没有提供这样的功能。大家就要一个一个去手工操作:

右键单击任意工作表标签,在右键菜单中,选择【取消隐藏工作表】,在弹出的操作界面中,选择相应的表名,做确认操作。

http://ww4/large/005IRek6gw1f69nzl8604j30bf06hgmu.jpgVBA】VBA常用小代码(四)" TITLE="【Excel VBA】VBA常用小代码(四)" />

如果需要取消隐藏的工作表很多,这样操作就很烦琐。

如何一次性全部取消隐藏表格呢?

可以使用以下VBA小代码。


Sub qxyc()

Dim sht As Worksheet

'定义变量

For Each sht In Worksheets

'循环工作簿里的每一个工作表

    sht.Visible = xlSheetVisible

    '将工作表的状态设置为非隐藏

Next

End Sub


动画效果:

http://ww2/large/005IRek6gw1f69o0x7wb1g30hs097121.gifVBA】VBA常用小代码(四)" TITLE="【Excel VBA】VBA常用小代码(四)" />

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

照例示例文件链接:百度网盘示例文件

如果代码不会用,请参见这个帖子:黑技术!两句代码秒破工作表加密! 里面有图文教程说明代码如何使用!


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

http://ww3/large/005IRek6gw1f69q9ysxvwj30cb05ndgy.jpgVBA】VBA常用小代码(四)" TITLE="【Excel VBA】VBA常用小代码(四)" />


如上图,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单元格,就可以得到结果了。

照例示例文件链接:百度网盘示例文件

好啦,今天分享的内容就酱紫,更多常用VBA小代码,请关注@EXCELers  ,握手,工作愉快,明天见啦~~~

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有