Vba 单元格值为#N/A时如何隐藏列(G-AZ)
我目前有一个vlookup,它用标题填充第1行(单元格G1-AZ1),如果vlookup不返回任何内容,我想隐藏列(G1-AZ1)。我知道这是一个简单的宏,但我对VBA是新手,我在搜索web时没有运气。Vba 单元格值为#N/A时如何隐藏列(G-AZ),vba,excel,vlookup,Vba,Excel,Vlookup,我目前有一个vlookup,它用标题填充第1行(单元格G1-AZ1),如果vlookup不返回任何内容,我想隐藏列(G1-AZ1)。我知道这是一个简单的宏,但我对VBA是新手,我在搜索web时没有运气。 谢谢 我通常将这些公式放在ISNA()中,然后使用Excel过滤器隐藏空行 =IF(ISNA(VLOOKUP(A3,G1:H7,2,FALSE)),"",VLOOKUP(A3,G1:H7,2,FALSE)) 试试这个: 循环通过标题单元格 根据您的条件设置entireclumn.Hidden属
谢谢 我通常将这些公式放在ISNA()中,然后使用Excel过滤器隐藏空行
=IF(ISNA(VLOOKUP(A3,G1:H7,2,FALSE)),"",VLOOKUP(A3,G1:H7,2,FALSE))
试试这个:
entireclumn.Hidden
属性.ScreenUpdate=False
来防止屏幕闪烁并加快其速度你能用excel按行过滤吗?我以为它只按列过滤?我希望模板自动隐藏没有标题填充的列。每列下面都填充了50个单元格,我使用这些单元格-如果标题已填充。当您将筛选器应用于列时,如果筛选器语句为true(或false-这取决于您的意图)(请确保在设置筛选器之前选中了所有数据单元格),则会显示/隐藏整行,以降低可读性,您可以编写
cl.entireclumn.Hidden=(iError(cl)和cl=CVErr(xlErrNA))或(而不是iError(cl)和cl=CVErr(xlErrNA))
;-)+1.
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