Формула VBA отлично работает с F5

Ячейки столбца E E3:E5 имеют функции, которые рассчитывают до суммы в долларах или 0,00 долларов США.

Это формула, извлекаемая из = SUM(«Предложение MEDENT - Создатель»!B15 * 15)

Если результат равен $ 0,00, строка скрывается - если она больше 0, она отображается

Sub hidelines2()  
      If Range("E3").Value = 0 Then  
         Rows("3:3").EntireRow.Hidden = True  
  ElseIf Range("E3").Value > 0 Then  
         Rows("3:3").EntireRow.Hidden = False  
  End If  
      If Range("E4").Value = 0 Then  
         Rows("4:4").EntireRow.Hidden = True  
  ElseIf Range("E4").Value > 0 Then  
         Rows("4:4").EntireRow.Hidden = False  
  End If  
      If Range("E5").Value = 0 Then  
         Rows("5:5").EntireRow.Hidden = True  
  ElseIf Range("E5").Value > 0 Then  
         Rows("5:5").EntireRow.Hidden = False  
  End If  
End Sub

Моя проблема: я не могу заставить это работать автоматически при изменении значений ячеек.
Было несколько предложений, но ни одно из них не сработало.

2 ответа2

0

Если вам не нужно это в больших масштабах, это будет работать -

Private Sub worksheet_selectionchange(ByVal Target As Range)
    If Range("E3") = 0 Then
        Range("E3").EntireRow.Hidden = True
        Else: Range("e4").EntireRow.Hidden = False
    End If
    If Range("E4") = 0 Then
        Range("E4").EntireRow.Hidden = True
        Else: Range("e4").EntireRow.Hidden = False
    End If
     If Range("E5") = 0 Then
        Range("E5").EntireRow.Hidden = True
        Else: Range("e5").EntireRow.Hidden = False
    End If
End Sub

Вы не увидите E3, E4 или E5, если не измените свой выбор где-нибудь на листе. Это не хорошо для большого масштаба, хотя, вообще.

Это было лучшее решение, которое я мог найти.

0

Вы должны добавить вызов к вашему сабвуферу в событие Worksheet_Calculate листа, который вы хотите обновить.

Private Sub Worksheet_Calculate()

    Call hidelines2

End Sub

Важно, чтобы вы поместили его в нужное место, см. Анимацию ниже.

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