ich VBA-Laie brauche einen Code für TabBlatt4.
In diesem Blatt wird in Spalte A11:A100 über
eine WENN-Formel in jeder Zelle eine 0 oder nichts
angezeigt.
Die Zeilen mit 0 sollen automatisch ausgeblendet
werden.
Bitte um Hilfe
Gruß
Andy
Sub Makro1()
Dim Rx As Range
For Each Rx In Worksheets("Tabelle1").Range("A10:A100")
If Rx.Value = 0 Then Rx.EntireRow.Hidden = True
Next
End Sub
und ruftst es über Makro aufrufen in der Standard-Oberfläche oder einen Butto erstellen und das Makro zuweisen.
Gruß Armin
Private Sub Worksheet_Calculate()
Dim loX As Long
For loX = 11 To 100
If Cells(loX, 2).Value = "0" Then Rows(loX).EntireRow.Hidden = True
Next
End Sub
Gruß Matthias
Private Sub Worksheet_Calculate()
Dim loX As Long
Application.ScreenUpdating = False 'Bildschirmaktualisierung aus
For loX = 11 To 100
If Cells(loX, ).Value = "0" Then Rows(loX).EntireRow.Hidden = True
Next
Application.ScreenUpdating = True 'Bildschirmaktualisierung wieder an
End Sub
Gruß Matthias
Private Sub Worksheet_Calculate()
Dim loX As Long
Application.ScreenUpdating = False 'Bildschirmaktualisierung aus
Application.EnableEvents = False 'Ereignismakros deaktivieren
For loX = 11 To 100
Rows(loX).EntireRow.Hidden = Cells(loX, 1).Value = "0"
Next
Application.EnableEvents = True 'Ereignismakros aktivieren
Application.ScreenUpdating = True 'Bildschirmaktualisierung wieder an
End Sub
Sub tt()
Dim i As Long
Application.ScreenUpdating = False
For i = 11 To 100
Rows(i).Hidden = Cells(i, 1) = 0
Next
Application.ScreenUpdating = True
End Sub
Gruß
Rudi
Private Sub Worksheet_Calculate()
Application.EnableEvents = False
Range("A10:A100").AutoFilter Field:=1, Criteria1:="="
Application.EnableEvents = True
End Sub
allerdings wurde meines Wissens nach das Application.EnableEvents in Excel 2007 abgeschafft, dh. man muss diese Funktionalität mithilfe einer Variable selbst nachbauen
die Variable muss ausserhalb der der Prozedur, ganz oben unter Option Explicit dimensioniert werden:
Option Explicit
Dim EventsAus As Boolean
Private Sub Worksheet_Calculate()
If EventsAus Then Exit Sub
EventsAus = True
Range("A10:A100").AutoFilter Field:=1, Criteria1:="="
EventsAus = False
End Sub
wenn, analog dem normalen ausblenden die Filter-Markierungen nicht erscheinen sollen, kannst du das mit dieser Erweiterung in der autofilter-Zeile erreichen:
Range("A10:A100").AutoFilter Field:=1, Criteria1:="=", VisibleDropDown:=False
Gruß, Daniel
Um in Excel Zeilen auszublenden, wenn der Wert in einer bestimmten Zelle 0 ist, kannst Du VBA (Visual Basic for Applications) verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:
Öffne den VBA-Editor:
Alt + F11, um den VBA-Editor zu öffnen.Füge ein neues Modul hinzu:
Füge den folgenden Code ein:
Sub ZeilenAusblenden()
Dim i As Long
Application.ScreenUpdating = False ' Bildschirmaktualisierung aus
For i = 11 To 100
Rows(i).Hidden = Cells(i, 1).Value = 0 ' Zeilen mit 0 ausblenden
Next i
Application.ScreenUpdating = True ' Bildschirmaktualisierung wieder an
End Sub
Schließe den VBA-Editor und gehe zurück zu Excel.
Führe das Makro aus:
Alt + F8, wähle „ZeilenAusblenden“ aus und klicke auf „Ausführen“.Du kannst diesen Code auch in das Worksheet_Calculate-Ereignis einfügen, um die Zeilen automatisch auszublenden, wenn sich die Werte ändern.
Ein häufiger Fehler, den Du möglicherweise bei der Verwendung von VBA zum Ausblenden von Zeilen in Excel bekommst, ist der Laufzeitfehler "1004". Hier sind einige Lösungen:
Fehlermeldung: „Hidden-Eigenschaft“:
Excel friert ein:
Application.EnableEvents = False am Anfang deiner Sub-Prozedur ein und setze es am Ende wieder auf True, um Endlosschleifen zu vermeiden.Es gibt verschiedene Möglichkeiten, um Zeilen in Excel auszublenden, wenn der Wert 0 ist:
Verwendung des Autofilters:
Private Sub Worksheet_Calculate()
Application.EnableEvents = False
Range("A10:A100").AutoFilter Field:=1, Criteria1:="0" ' Filtere nach 0
Application.EnableEvents = True
End Sub
Verwendung von Excel-Formeln:
Du kannst auch die Formel =WENN(A1=0;"";A1) verwenden, um Zellen leer zu lassen, wenn der Wert 0 ist, und dann die Zeilen manuell oder über einen Filter ausblenden.
Beispiel 1: Ausblenden von Zeilen in Spalte A, wenn der Wert 0 ist.
Private Sub Worksheet_Calculate()
Dim loX As Long
Application.ScreenUpdating = False
For loX = 11 To 100
If Cells(loX, 1).Value = 0 Then
Rows(loX).EntireRow.Hidden = True
End If
Next loX
Application.ScreenUpdating = True
End Sub
Beispiel 2: Dynamisches Ausblenden von Zeilen, wenn der Wert 0 in Spalte B steht.
Private Sub Worksheet_Calculate()
Dim loX As Long
Application.ScreenUpdating = False
For loX = 11 To 100
Rows(loX).Hidden = Cells(loX, 2) = 0 ' Spalte B
Next loX
Application.ScreenUpdating = True
End Sub
Application.ScreenUpdating: Dies verhindert das Flackern des Bildschirms, wenn Du mehrere Zeilen ausblendest.Application.EnableEvents = False, um Endlosschleifen zu vermeiden, insbesondere bei der Verwendung von Worksheet_Calculate.1. Wie kann ich den Code anpassen, um nur bestimmte Zeilen auszublenden?
Du kannst die Schleife so anpassen, dass sie nur durch bestimmte Zeilen iteriert, z.B. For i = 20 To 30.
2. Funktioniert dieser Code in allen Excel-Versionen? Ja, der Code sollte in den meisten aktuellen Excel-Versionen funktionieren, während einige ältere Versionen möglicherweise Anpassungen erfordern.
3. Was tun, wenn ich die Zeilen später wieder einblenden möchte?
Du kannst eine ähnliche Sub-Prozedur erstellen, die Rows(i).Hidden = False verwendet, um die Zeilen wieder einzublenden.