在工作簿中,我想循环浏览所有工作表,并根据每个工作表中某个单元格中的关键字,希望在各自的工作表中隐藏一些不连续的列。 我没有任何问题可以隐藏单个列或多个连续列,但是当我将多个非连续列设置为我的范围时,它不起作用。
name = ['J105150',
'J616293']
谁能告诉我为什么这不起作用?
一种解决方法当然是将所有列分别添加,但是我希望以更短的方式进行操作,当然,我想了解有关VBA的更多信息。顺便说一下,我是VBA的初学者。
答案 0 :(得分:1)
如果您已使所有相关列都预先可见,则无需Else
语句。
Option Explicit
Sub HideColumns()
Dim i As Integer
Dim x As Integer
i = Worksheets.Count
For x = 1 To i
Worksheets(x).Range("A:AX").EntireColumn.Hidden = False
If InStr(1, Worksheets(x).Range("A1").Value, "keyword", 1) <> 0 Then
Worksheets(x).Range("D:E, G:H").EntireColumn.Hidden = True
End If
Next x
End Sub
除了这个小问题之外,我们的代码可以按预期工作。