单元格值为#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)) 

尝试这个:

  1. 循环通过标题单元格
  2. 根据您的标准设置EntireColumn.Hidden属性
  3. 使用.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