0

現在、行 1 (セル G1-AZ1) にタイトルを入力する vlookup があり、vlookup が何も返さない/#N/A の場合は列 (G1-AZ1) を非表示にしたいと考えています。これが単純なマクロであることはわかっていますが、私は VBA を初めて使用し、Web を検索したことがありません。ありがとう!

4

2 に答える 2

1

これを試して:

  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
于 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 に答える