Как скрыть все столбцы, кроме тех, которые содержат определенное значение / текст? - PullRequest
0 голосов
/ 26 мая 2018

Что такое макрос VBA, который я могу использовать для фильтрации столбцов, которые не содержат определенную строку текста / значения.В приведенном ниже примере я начинаю с данных, в которых есть столбцы, которые я не хочу видеть.Я хочу скрыть все столбцы, кроме тех, которые содержат хотя бы одну ячейку, значение которой я хочу видеть, в данном примере это «хорошие» данные.

Начиная с этого:

Excel spreadsheet image showing four columns containing either cells with either

Окончание с этим:

Excel spreadsheet image showing three columns containing cells with both

1 Ответ

0 голосов
/ 27 мая 2018

Я использовал этот код, повторяя, что для каждого столбца могут быть данные, которые я хочу увидеть.Это предполагает, что возможно важные данные находятся в строке 4. Есть ли более эффективный способ?

If Range("A4").Value = "important" Then
    Columns("A").EntireColumn.Hidden = False
Else
    Columns("A").EntireColumn.Hidden = True
End If

If Range("B4").Value = "important" Then
    Columns("B").EntireColumn.Hidden = False
Else
    Columns("B").EntireColumn.Hidden = True
End If

If Range("C4").Value = "important" Then
    Columns("C").EntireColumn.Hidden = False
Else
    Columns("C").EntireColumn.Hidden = True
End If

If Range("D4").Value = "important" Then
    Columns("D").EntireColumn.Hidden = False
Else
    Columns("D").EntireColumn.Hidden = True
End If

If Range("E4").Value = "important" Then
    Columns("E").EntireColumn.Hidden = False
Else
    Columns("E").EntireColumn.Hidden = True
End If

If Range("F4").Value = "important" Then
    Columns("F").EntireColumn.Hidden = False
Else
    Columns("F").EntireColumn.Hidden = True
End If

If Range("G4").Value = "important" Then
    Columns("G").EntireColumn.Hidden = False
Else
    Columns("G").EntireColumn.Hidden = True
End If

If Range("H4").Value = "important" Then
    Columns("H").EntireColumn.Hidden = False
Else
    Columns("H").EntireColumn.Hidden = True
End If

If Range("I4").Value = "important" Then
    Columns("I").EntireColumn.Hidden = False
Else
    Columns("I").EntireColumn.Hidden = True
End If

If Range("J4").Value = "important" Then
    Columns("BJ").EntireColumn.Hidden = False
Else
    Columns("J").EntireColumn.Hidden = True
End If
...