VBA隐藏列|如何使用VBA代码隐藏列?

Excel VBA隐藏列

隐藏是一件简单的事情,但是您需要在此处理解概念。要使用VBA隐藏列,我们需要确定需要隐藏的列。要指定要隐藏的列,我们需要使用RANGE对象。

范围(“ A:A”)

然后,我们需要使用“整个列”属性。

Range(“ A:A”)。EntireColumn

在整个列属性中,我们需要使用“隐藏”属性。

Range(“ A:A”)。EntireColumn.Hideden

然后,最后,我们需要将Hidden属性设置为TRUE。

Range(“ A:A”)。EntireColumn.Hidden = TRUE 

这将隐藏列A。

如何在VBA中隐藏列?

我们可以通过几种方式隐藏列。我们可以通过使用Range对象和CELLS属性来隐藏列。基于我们使用的方法,我们需要构造我们的VBA代码。

您可以在此处下载此VBA隐藏列Excel模板– VBA隐藏列Excel模板

Example#1 –使用范围对象隐藏

如果要隐藏特定列,请在RANGE对象中指定该列。查看以下数据。

现在,我们将使用以下代码隐藏整个列A。

代码:

 Sub Range_Hide()Range(“ A:A”)。EntireColumn.Hidden = True结束Sub 

因此,当我们运行代码时,我们将得到以下结果。

Example#2 –使用Columns属性隐藏

如果要使用Columns属性隐藏列,则下面的代码适合您。

代码:

 Sub Range_Hide()Columns(“ B”)。Hidden = True End Sub 

这将隐藏列B。在这里,您必须考虑“整个列”属性的位置。使用Columns属性时,不必使用Entire Column属性。

我们仍然可以使用Entire Column属性,但不是必需的。相同的代码在下面给出。

代码:

 子Columns_Hide()Columns(“ B”)。EntireColumn.Hidden = True End Sub 

这也应该工作正常。

我们也可以使用列号代替字母引用。相同的代码在下面给出。

代码:

 子Columns_Hide()Columns(4).EntireColumn.Hidden = True End Sub 

这将隐藏列D。

Example#3 –隐藏多列

我们也可以一次隐藏多个列。为此,我们需要提及第一列和最后一列,以便在这两列之间也将被隐藏。对于与示例1相同的数据,请使用以下代码隐藏多列。

代码:

 Sub Columns_Hide()Range(“ A:C”)。EntireColumn.Hidden = True End Sub 

这将隐藏列A至C。

我们也可以使用以下代码在Excel VBA中隐藏多列。

代码:

 Sub Multi_Columns_Hide()Columns(“ A:C”)。EntireColumn.Hidden = True End Sub 

上述方法将隐藏前三列,即A,B和C。

Example#4 –隐藏具有单个单元格的列

我们还可以基于单个单元格引用隐藏列。我们无需提供完整的列参考即可隐藏该列。仅使用一个单元格引用,我们就应该能够隐藏列。

代码:

 Sub Single_Hide()Range(“ A5”)。EntireColumn.Hidden =真实结束Sub 

这将隐藏整个列A。

Example#5 –隐藏所有替代列

假设您的数据如下图所示。

我们需要隐藏所有空白的替代列。为此,我们需要使用循环,下面的代码将为我们完成工作。

代码:

 Sub AlternativeColumn_Hide()Dim k作为整数对于k = 1至7个像元(1,k + 1).EntireColumn.Hidden = True k = k + 1下一个k结束 

这将隐藏每个备用列。

Example#6 –隐藏所有空列

在前面的示例中,其他所有替代列均为空白,我们很容易将其隐藏。但是请看下面的数据。

在这里,空列模式不是标准的。在这些情况下,以下代码将隐藏所有空白列,无论模式是什么。

代码:

 Sub Column_Hide1()Dim k作为整数,对于k = 1到11如果单元格(1,k).Value =“”然后Columns(k).Hidden = True End如果下一个k结束Sub 

运行代码时,您将得到如下结果。

Example#7 –根据单元格值隐藏列

现在,我们将看到如何根据单元格值隐藏列。例如,请看下面的数据。

如果标题为“否”,我想在这里隐藏所有列。下面的代码将为我做到。

代码:

 Sub Column_Hide_Cell_Value()Dim k作为整数,对于k = 1到7,如果Cells(1,k).Value =“ No”,则Columns(k).Hidden = True结束,如果下一个k结束Sub 

运行代码时,您将得到如下结果。