Как скрыть все столбцы, кроме тех, которые содержат определенное значение / текст?

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

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

Изображение электронной таблицы Excel, на котором показаны четыре столбца, содержащие либо ячейки с

Заканчивая это:

Изображение электронной таблицы Excel, на котором показаны три столбца, содержащие ячейки с

1 ответ

Я использовал этот код, повторяя, что для каждого столбца могут быть данные, которые я хочу видеть. Это предполагает, что возможно важные данные в строке 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
Другие вопросы по тегам