根据存储在特定单元格(例如工作表的A1
)中的值,我想隐藏工作表中从列B开始的多个列。
我想要做的例子:
难点实际上是Excel(或至少我的Excel文件)使用字母(A,B,...)作为列名称的方式。在使用rows("2:" & range("A1").value)
之类的代码并设置.hide = true
答案 0 :(得分:2)
您可以按照索引编号引用列:Columns(indexnumber)
,您可以使用Resize()
设置要选择的列数,如下所示:
Sub HideColumns()
Dim numColumnsToHide
numColumnsToHide = Cells(1, 1).Value
Columns(2).Resize(, numColumnsToHide).Select
Selection.EntireColumn.Hidden = True
End Sub
显然,此代码在A1
中没有任何值验证,因此如果有人在HideColumns()
中运行A1
而没有整数,则会发生不好的事情。这也不会取消隐藏任何隐藏的列。
答案 1 :(得分:2)
我想对Glenn上面的回答添加评论,但没有足够的声誉。我要补充的是,您不需要激活工作表或选择列,您可以简单地继续隐藏列:
Worksheets("TheSheet").Columns(2).Resize(, numColumnsToHide).EntireColumn.Hidden = True
答案 2 :(得分:0)
请不要只是使它复杂化
Sub ocultaColunas()
Range(“ D:E”)。EntireColumn.Hidden = True
结束子