如何在 Excel 中隐藏工作簿中多个工作表上的列?

ms excelmicrosoft technologiescomputers更新于 2024/6/20 4:28:17

Excel 允许用户快速隐藏单个工作表中的列,但您是否尝试过同时隐藏多个工作表中的列?通常,如果您尝试选择所有工作表并使用"隐藏"功能,则无法正常工作。在本文中,我将讨论如何快速隐藏多个工作表中的列。

有时可能需要显示或打印工作表,以便部分数据被遮挡,但工作簿中的数据保持不变。为了隐藏隐私或易混淆的信息,可以隐藏行或列。本文将演示一个示例,使用 VBA 代码隐藏工作簿中多个工作表上的列。

使用 VBA 代码隐藏工作簿中多个工作表上的列

步骤 1

创建示例数据以了解处理步骤。使用 C 列填写学生姓名,使用 D 列填写科目名称,使用 E 列填写分数。

步骤 2

要打开 Visual Basic 代码区域,请点击 代码 组下的 开发人员选项卡,然后选择 Visual Basic 选项,如下图所示。

注意 − 要访问 Microsoft Visual Basic for Applications 窗口,另一种方法是同时按住 ALT + F11 键。这也会打开相同的代码区域。

步骤 3

上述步骤将打开"Microsoft Visual Basics for Applications"对话框,如下所示 -

步骤 4

在上述打开的对话框中,点击"插入"选项卡。这将打开一个新的下拉列表。在新窗口中,选择"模块"选项,如下所示 -

步骤 5

点击模块后,Visual Basic 代码区域将显示在出现的对话框中。请参考图片以便正确引用 -

步骤 6

在打开的代码编辑器中,复制以下代码 -

' 定义 meth_to_hide_Column() 方法头
Sub meth_to_hide_Column()
   ' declaring required variables
   Dim i As Integer
   Dim col_s As String
   On Error Resume Next
   ' define input box
   col_s = Application.InputBox("Enter column range to hide,Eg A:A OR A:B", _
      "VBA code block result", , , , , , 2)
   ' if column
   If col_s = "" Then
      ' display message
      MsgBox "Empty columns", vbInformation, "Enter valid data columns!!!"
      'end of sub block
      Exit Sub
   ' end of if block
   End If
   ' for each loop expression
   For i = 1 To ThisWorkbook.Worksheets.Count
      ' setting column value to hidden
      ThisWorkbook.Sheets(i).Columns(col_s).Hidden = True
   ' next statement
   Next i
   ' use go to loop
   On Error GoTo 0
' end of sub block
End Sub

代码快照如下 -

步骤 7

现在按 F5 键运行代码,Microsoft Excel 中将出现一个宏对话框,如下图所示。

步骤 8

然后点击运行按钮,如下图所示 -

步骤 9

代码将在屏幕上显示一个"VBA 代码块结果"对话框。此对话框包含输入标签,用户可以根据提供的格式输入想要隐藏的标签。在本例中,用户想要隐藏"C"列。最后,点击对话框中的"确定"按钮。请注意,在本例中,用户只输入了单个列,但多个输入列也是可以接受的。假设用户输入 A:C,则从 A 到 C 的所有列都将被隐藏,下一步的输出结果也类似。

步骤 10

完成所有步骤后,C 列将自动隐藏。请参考下方的输出截图。

结论

本文帮助用户学习了如何使用 VBA 代码隐藏多个工作表中的列。提供的步骤详尽透彻,所有细节都准确无误。


相关文章


有用资源