我目前有一个用标题填充第 1 行(单元格 G1-AZ1)的 vlookup,如果 vlookup 没有任何结果/#N/A,我想隐藏列(G1-AZ1)。我知道这是一个简单的宏,但我是 VBA 的新手,我在网上搜索的运气为零。谢谢!
问问题
5148 次
2 回答
1
尝试这个:
- 循环遍历标题单元格
EntireColumn.Hidden
根据您的条件设置属性- 用于
.ScreenUpdating = False
防止屏幕闪烁和加速
Sub HideColumns()
Dim rng As Range
Dim cl As Range
Application.ScreenUpdating = False
Set rng = [G1:AZ1]
For Each cl In rng
If IsError(cl) Then
cl.EntireColumn.Hidden = cl = CVErr(xlErrNA)
Else
cl.EntireColumn.Hidden = cl = ""
End If
Next
Application.ScreenUpdating = True
End Sub
于 2012-04-11T06:43:52.057 回答
1
我通常将这些公式放在ISNA()中,然后只使用 Excel 过滤器来隐藏空行
=IF(ISNA(VLOOKUP(A3,G1:H7,2,FALSE)),"",VLOOKUP(A3,G1:H7,2,FALSE))
于 2012-04-10T19:23:38.403 回答