1

Я ищу помощь с простой задачей в Excel с использованием VBA.

То, что я пытаюсь выполнить и очень сильно помогло бы мне в моей работе, - это создать простое правило, которое бы выполняло что-то вроде следующего:

For Each c In Range("Row(2))
If c.Value = 0 Then
    c.EntireColumn.Hidden = True
ElseIf c.Value = >0 Then
    c.EntireColumn.Hidden = False
End If

Моя цель состоит в том, чтобы просто иметь нулевое значение в строке 2, чтобы скрыть весь столбец, когда строка 2 этого столбца равна нулю.

Заранее спасибо.

1 ответ1

0

Вы можете попробовать что-то вроде ниже:

Sub hide()
Application.Calculation = xlManual
ActiveSheet.Cells.EntireColumn.Hidden = False

'600 represents 600 columns, adjust to suit your range
For i = 1 To 600

If InStr(Cells(2, i).Value, "0") And Columns(i).Hidden = False Then
    Columns(i).Hidden = True

End If

Next i

Application.Calculation = xlAutomatic

End Sub

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .