如何在Excel工作簿的多个工作表中隐藏列?
Excel允许用户快速隐藏单个工作表中的列,但是您尝试过同时隐藏多个工作表中的列吗?通常,如果尝试选择所有工作表并使用隐藏功能,则不起作用。在本文中,我将讨论如何快速在多个工作表中隐藏列。
可能希望显示或打印工作表,以便某些数据被遮蔽但在工作簿中保留完整。为了隐藏私密或混乱的信息,可以隐藏行或列。在本文中,通过使用VBA代码演示了一个示例,可以隐藏工作簿中多个工作表上的列。
通过使用VBA代码在工作簿的多个工作表中隐藏列
步骤1
创建一个示例数据以了解处理步骤。使用列“C”写入学生姓名,“D”列写入科目名称,“E”列写入分数。
步骤2
为了打开可视化基本代码区域,请单击代码组下的 开发人员选项卡 ,并选择 Visual Basic 选项,如下图所示。
注意 - 要访问Microsoft Visual Basic for Applications窗口,另一种方法是同时按下 ALT + F11 键。这也将打开相同的代码区域。
步骤3
上述步骤将打开一个“Microsoft Visual Basics for Applications”对话框,如下所示 –
步骤4
在上述打开的对话框中,单击 “插入” 选项卡。这将打开一个新的下拉列表。在新窗口中,选择 “模块” 选项,如下图所示 –
步骤5
单击 模块 后,可见的基本代码区域将显示在出现的对话框中。请参考下面的图像。
步骤6
在打开的代码编辑器中,复制下面的代码 –
' define meth_to_hide_Column() method header
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
代码快照如下 –
步骤7
现在,按 F5 键运行代码,Microsoft Excel上将出现一个 宏 对话框,如下图所示。
步骤8
然后,在这张图片下方,单击 运行 按钮。
步骤9
该代码将在屏幕上显示一个
“VBA代码块结果”
对话框。该对话框包含输入标签,用户可以按照提供的格式输入要隐藏的标签。在此示例中,用户要隐藏“C”列。最后,单击对话框中的“确定”按钮。请注意,例如用户只需提供单个列的输入,但是多个列的输入也是可接受的。例如,如果用户输入A:C,则从A到C的所有列都将被隐藏,类似于下一步输出中提供的结果。
第10步
完成所有步骤后,C列将自动隐藏。参考以下输出快照。
结论
在本文中,用户学习了如何实现VBA代码以隐藏来自多个工作表的列的策略。提供的步骤详细而周到。所有提供的细节都是准确和精确的。