ich würde gerne per Button alle Zeilen in einem bestimmten Bereich (Zeilen 8 bis 111) ausblenden, die in Spalte A den Wert -1 haben. Kann mir jemand mit dem zugehörigen Makro helfen?
Gruß Basti
Sub ausblenden()
For zl = 111 To 8 Step -1
If Cells(zl, "A") = "-1" Then
Rows(zl).Hidden = True
End If
Next zl
End Sub
Sub blendomat()
Dim rngB As Range
Dim intC As Integer
Dim ws As Worksheet
Set ws = ActiveSheet 'anpassen
With ws
For intC = 8 To 111
If .Cells(intC, 1).Value = -1 Then
If rngB Is Nothing Then
Set rngB = .Cells(intC, 1)
Else
Set rngB = Union(rngB, .Cells(intC, 1))
End If
End If
Next
End With
If Not rngB Is Nothing Then
rngB.EntireRow.Hidden = True
End If
Set rngB = Nothing
End Sub
Um bestimmte Zeilen in Excel mithilfe von VBA auszublenden, folge diesen Schritten:
Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
Klicke im Menü auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.
Kopiere den folgenden Code in das Modul:
Sub ausblenden()
For zl = 111 To 8 Step -1
If Cells(zl, "A") = "-1" Then
Rows(zl).Hidden = True
End If
Next zl
End Sub
Schließe den VBA-Editor und gehe zurück zu Deinem Excel-Blatt.
Um das Makro auszuführen, drücke ALT + F8, wähle das Makro ausblenden aus und klicke auf Ausführen.
Alternativ kannst Du auch den folgenden schnelleren Code verwenden:
Sub blendomat()
Dim rngB As Range
Dim intC As Integer
Dim ws As Worksheet
Set ws = ActiveSheet 'anpassen
With ws
For intC = 8 To 111
If .Cells(intC, 1).Value = -1 Then
If rngB Is Nothing Then
Set rngB = .Cells(intC, 1)
Else
Set rngB = Union(rngB, .Cells(intC, 1))
End If
End If
Next
End With
If Not rngB Is Nothing Then
rngB.EntireRow.Hidden = True
End If
Set rngB = Nothing
End Sub
Fehler: Das Makro funktioniert nicht.
Fehler: Excel zeigt eine Fehlermeldung an.
Wenn Du kein VBA verwenden möchtest, kannst Du auch Filter in Excel nutzen:
Daten-Tab und wähle Filter.Diese Methode ist jedoch weniger automatisiert als ein VBA-Makro.
Hier ist ein Beispiel, wie Du das Makro anpassen kannst, um auch andere Kriterien zu verwenden:
Sub ausblenden_kriterien()
For zl = 8 To 111
If Cells(zl, "A") < 0 Then ' Beispiel: alle negativen Werte ausblenden
Rows(zl).Hidden = True
End If
Next zl
End Sub
Option Explicit am Anfang Deines Codes, um sicherzustellen, dass alle Variablen deklariert sind. Dies hilft, Fehler zu vermeiden.Union-Funktion, um mehrere Zeilen gleichzeitig auszublenden, was die Performance verbessert.1. Wie kann ich die ausgeblendeten Zeilen wieder einblenden? Um die ausgeblendeten Zeilen wieder sichtbar zu machen, kannst Du den folgenden VBA-Code verwenden:
Sub einblenden()
Rows("8:111").Hidden = False
End Sub
2. Kann ich das Makro für andere Bereiche anpassen? Ja, Du kannst die Zeilen- und Spaltenangaben im Code an Deine Bedürfnisse anpassen. Ändere einfach die Werte in den Schleifen und die Spaltenbezüge.