Wie kann ich meine Excel (VBA) "Zeile Ein- und Ausblenden Formel" vereinfachen?

2 Antworten

Baue um die Schleife.

Application.Screenupdate = False
Application.EnableEvents = False

    For i = 11 To 15 Step 2

        If Range("A" & i).Value = 0 Then

            Rows(i & ":" & i + 1).EntireRow.Hidden = True

        Else

            Rows(i & ":" & i + 1).EntireRow.Hidden = False

        End If

    Next i

Application.Screenupdate = True
Application.EnableEvents = True

Mach eine Schleife, anstatt jede einzelne Zeile aufzuführen.

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    Dim i As Integer
    
    For i = 11 To 15 Step 2
        If Range("A" & i).Value = 0 Then
            Rows(i & ":" & i + 1).EntireRow.Hidden = True
        Else
            Rows(i & ":" & i + 1).EntireRow.Hidden = False
        End If
    Next i
End Sub

Keine Ahnung, ob es schneller geht.
Aber besser und übersichtlicher ist es.

ElGatoConBotas 
Fragesteller
 13.09.2023, 14:44

Hey das ist eine echt tolle Vereinfachung. Danke dafür.

Zeitlich sinds dann halt doch noch 5min (Zeile 11 - 709) aber das ist wohl einfach so.

Danke

0
beelee  13.09.2023, 15:13
@ElGatoConBotas

habs nochmals schnell bei mir eingegeben...
seltsam. Bei mir geht das ein paar Sekunden.
Du kannst versuchen, vor
"For i = 11....." den Befehl
Application.ScreenUpdating = False
einzufügen und nach "Next i" wieder
Application.ScreenUpdating = True

Das lässt es nochmal schneller laufen.

0