Frage von DJBaem, 29

Excel VBA - Zeile unter Bedingung ausblenden?

Hallo Community,

ich habe folgende Frage:

Wenn ich beim öffnen des Sheets überprüfen lassen will,

ob in der Zelle B1 die Zahl "5" oder "6" steht, dann sollen die Zeilen "1" bis "5" eingeblendet werden, sollten die Zahlen nicht vorkommen, dann sollen die Zeilen ausgeblendet werden.

Kann man das einfach umsetzen mittels VBA Code?

Sofern das nicht so einfach ist, dann habe ich in den Zeilen A1, A2, A3, A4 und A5 auch eine WENN Funktion...

Diese WENN Funktion zeigt das Wort "SHOW" wenn die Zahl "5" oder "6" in der Zelle B1 vorkommt, wenn eine andere Zahl vorkommt, dann schreibt die WENN Funktion das Wort "HIDE".

Also je nachdem, was einfacher wäre um die Zeilen ausblenden zu lassen - über jeden Tipp bin ich dankbar. :)

LG

Benny

Expertenantwort
von Oubyi, Community-Experte für Excel, 9

Klicke mit Rechts auf den Tabellenreiter (unten, wo z.B. Tabelle1 steht).
Dann "Code anzeigen"
In den VBA-Editor, der sich dann öffnet, kopierst Du diesen Code:

Private Sub Worksheet_Activate()
If Range("B1").Value = 5 Or Range("B1").Value = 6 Then
Rows("1:5").EntireRow.Hidden = False
Else:
Rows("1:5").EntireRow.Hidden = True
End If
End Sub

Klappt es?

Kommentar von DJBaem ,

Ja, es klappt. Danke dir. :) 

Kommentar von DJBaem ,

Es klappt zwar, jedoch ruft es hin und wieder den Debugger auf und meldet den Eintrag "Rows("1:5").EntireRow.Hidden = False" :/

Kommentar von Oubyi ,

Ich habe jetzt versucht den Fehler nachzubauen, aber bekomme es nicht hin. Bei mir läuft das fehlerfrei.
Kannst Du mal versuchen herauszubekommen, unter welchen Bedingungen der Fehler auftritt.
Und welche Fehlermeldung bekommst Du genau?

Kommentar von Oubyi ,

P.S.:
Notfalls kannst Du als zweite Zeile:
On Error GoTo 0
einsetzen.
Das würde ALLE Fehlermeldungen ausschalten.
Ist aber brutal und unschön programmiert.

Besser ist es auf jeden Fall den Fehler zu finden und zu behandeln.

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten