大家好,我是星光,很久沒有分享VBA常用小代碼系列,昨個有人說我又太監了……今天我就證明我不是太監,當然,證明的方式不是脫褲子……
好吧,正經一點,我們今天分享的VBA小代碼有兩個小内容:
批量取消隐藏工作表。
批量提取單元格的超鍊接。
●如何批量取消隐藏工作表
先說一下如何批量隐藏工作表。
我們知道,一個工作簿如果需要批量隐藏部分表格,可以按住Ctrl鍵,用鼠标分别選取需要隐藏的工作表标簽(如果所隐藏是連續的表格,可以使用Shift鍵),使之成為一個工作表組合,然後通過右鍵菜單的隐藏功能,統一隐藏起來。
可是,反過來,如果一個工作簿的部分表格隐藏了,需要批量取消隐藏,EXCEL就沒有提供這樣的功能。
大家就要一個一個手工去操作:右鍵單擊任意工作表标簽,在右鍵菜單中,選擇【取消隐藏工作表】,在彈出的操作界面中,選擇相應的表名,做确認操作。
如果需要取消隐藏的工作表很多,這樣操作就很煩瑣。
如何一次性全部取消隐藏表格呢?可以使用以下VBA小代碼。
Sub qxyc()
Dim sht As Worksheet
For Each sht In Worksheets
sht.Visible = xlSheetVisible
Next
End Sub
代碼一兩行,工作不用忙斷腸,說的就是這種情況了。你也動手試一下吧。
如果代碼不會用,請參見這個帖子點擊查看,裡面有圖文教程說明代碼如何使用!
●如何批量提取單元格内的超鍊接網址
如上圖,A列單元格的數據設置了超鍊接。現在需要把超鍊接的地址提取出來。
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單元格,就可以得到結果了。
●結束語
……春困秋乏夏打盹兒,作為一個上了年紀的睡美人,寫到這裡,已是昏昏欲睡了,本來想說個什麼事,但這會兒又忘記了。那麼就都握手,說再見吧,祝一天愉快,88。
,