我经常在工作表中隐藏和取消隐藏列。如果我隐藏了整个范围的列,则发现从所有隐藏的列中取消隐藏单个列很麻烦。例如,如果我隐藏列C:M,并且想要取消隐藏列F,那么我需要取消隐藏整个范围,然后重新隐藏C:E和G:M。 (我还有其他方法可以完成相同的任务,但没有一个特别好玩。)

但是,我发现使用宏可以很容易地隐藏单个列。请考虑以下内容:

Sub UnhideSingleColumn()

Dim Col As String     Dim rng As Range

StartHere:

Col = InputBox("Enter column to unhide.", "Unhide Column")

If Col = "" Then Exit Sub     On Error Resume Next     ' if not a valid range, an error occurs     Set rng = ActiveSheet.Columns(Col)

If Err.Number <> 0 Then         On Error GoTo 0         Err.Clear         MsgBox "Invalid input! Please input a valid column."

GoTo StartHere     End If

rng.EntireColumn.Hidden = False

MsgBox "Column " & UCase(Col) & " is now visible.", _       vbOKOnly, "Unhide Specified Column"

Set rng = Nothing     On Error GoTo 0 End Sub

宏提示用户应使其哪一列可见,然后尝试选择该列。如果无法选择该列,则会生成错误,并再次要求用户输入。如果可以选择该列,则其.Hidden属性将关闭,从而使该列可见。

注意:

如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(2405)适用于Microsoft Excel 97、2000、2002和2003。可以在以下功能区中为Excel的功能区界面(Excel 2007及更高版本)找到本技巧的版本: