单元格值为#N / A时如何隐藏列(G-AZ)
我目前有一个vlookup填充行1(单元格G1-AZ1)与标题,并希望隐藏列(G1-AZ1)如果vlookup什么都不拉回/#N / A。 我知道这是一个简单的macros,但我是新来的VBA和我没有运气searchnetworking。 谢谢!
我通常在ISNA()中放置这样的公式,然后使用Excelfilter来隐藏空行
=IF(ISNA(VLOOKUP(A3,G1:H7,2,FALSE)),"",VLOOKUP(A3,G1:H7,2,FALSE))
尝试这个:
- 循环通过标题单元格
- 根据您的标准设置
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