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.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen