返回
用VBA小代码一键批量取消隐藏工作表,让你事半功倍!
Excel技巧
2023-09-25 00:53:37
前言
在日常办公中,使用 Excel 处理大量工作表时,有时我们需要隐藏一些工作表以简化视图或保护数据。但是,当我们需要取消隐藏这些工作表时,一个一个手动取消既费时又容易出错。今天,我们将介绍一个VBA小代码,它可以帮助我们一键批量取消隐藏工作表,极大地提高我们的工作效率。
VBA代码:批量取消隐藏工作表
Sub UnhideAllSheets()
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
If ws.Visible = xlSheetHidden Then ws.Visible = xlSheetVisible
Next ws
End Sub
如何使用?
- 打开要取消隐藏工作表的 Excel 工作簿。
- 按下 Alt + F11 打开 VBA 编辑器。
- 在插入菜单中选择“模块”。
- 将上述 VBA 代码复制并粘贴到模块中。
- 点击“运行”按钮或按 F5 运行代码。
原理说明
该 VBA 代码使用了一个 For Each 循环来遍历工作簿中的所有工作表。对于每个工作表,它检查其 Visible 属性是否为 xlSheetHidden,如果是,则将其设置为 xlSheetVisible,从而取消隐藏该工作表。
其他有用的VBA小代码:批量提取单元格内的超链接地址
除了批量取消隐藏工作表,我们还经常需要从单元格中提取超链接地址。下面是一个 VBA 代码,可以帮助我们批量提取所有单元格内的超链接地址:
Sub ExtractHyperlinks()
Dim ws As Worksheet
Dim rng As Range
Dim hyperlink As Hyperlink
Dim arrHyperlinks() As Variant
Dim i As Long
Set ws = ActiveSheet
Set rng = ws.UsedRange
ReDim arrHyperlinks(1 To rng.Cells.Count)
For i = 1 To rng.Cells.Count
If rng.Cells(i).Hyperlinks.Count > 0 Then
Set hyperlink = rng.Cells(i).Hyperlinks(1)
arrHyperlinks(i) = hyperlink.Address
End If
Next i
ws.Cells(1, 1).Resize(UBound(arrHyperlinks), 1).Value = arrHyperlinks
End Sub
如何使用?
- 打开包含超链接的 Excel 工作簿。
- 按下 Alt + F11 打开 VBA 编辑器。
- 在插入菜单中选择“模块”。
- 将上述 VBA 代码复制并粘贴到模块中。
- 点击“运行”按钮或按 F5 运行代码。
原理说明
该 VBA 代码遍历工作表的已用区域,并检查每个单元格中是否存在超链接。如果存在超链接,则将其地址存储在数组 arrHyperlinks 中。最后,将数组中的地址写入工作表的第一列中。
结语
VBA 小代码可以帮助我们自动化重复性任务,提高办公效率。本文介绍的两个 VBA 代码,可以批量取消隐藏工作表和批量提取单元格内的超链接地址,为我们的日常办公提供了便捷的工具。希望大家灵活运用这些代码,在工作中事半功倍!