Register ausblenden

Bild

Betrifft: Register ausblenden
von: Jessi
Geschrieben am: 03.12.2015 16:17:36

Hallo :)
Ich habe eine Excel-Tabelle mit einigen Registerblättern.
Ich möchte das jeweilige Registerblätter ausblenden so blad in S5 eine 0 steht (die 0 kommt durch eine einfach Wenn-Formel zustande)
Ich habe bereits auch ein Makro, das aber leider nicht funktioniert:


Sub RegisterAusblenden()
 Dim ws As Worksheet
 On Error Resume Next
 For Each ws In ActiveWorkbook.Worksheets
 If ws.Cells(19, 5) = 0 Then
 ws.Visible = xlSheetHidden
 End If
 Next
 On Error GoTo 0
 End Sub

Das Makro blendet zwar Registerblätter aus, aber total willkürlich. Es bleiben welche eingeblendet wo in S5 0 steht und es werden welche ausgeblendet wo keine 0 steht..
Ich weiß irgendwie nicht weiter
Kann mir jemand helfen und mir sagen was ich falsch gemacht hab?
Gruß
Jessi

Bild

Betrifft: AW: Register ausblenden
von: Josef
Geschrieben am: 03.12.2015 16:22:08
Hallo Jessi,

Sub RegisterAusblenden()
 Dim ws As Worksheet
 
 On Error Resume Next
 
 For Each ws In ActiveWorkbook.Worksheets
 
 If ws.Cells("S5").Value = 0 Then
 ws.Visible = xlSheetHidden
 End If
 
 Next
 
 On Error GoTo 0
 
 End Sub

Ich hoffe das klappt.
Gruß
Josef

Bild

Betrifft: AW: Register ausblenden
von: Jessi
Geschrieben am: 03.12.2015 16:27:44
Vielen Dank für die schnelle Antwort!
Jetzt ist irgendwie alles ausgeblendet außer das letzte Registerblatt
Gruß
Jessi

Bild

Betrifft: AW: Register ausblenden
von: Josef
Geschrieben am: 03.12.2015 16:33:48
Okay sorry, zweiter Versuch.

Sub RegisterAusblenden()
 Dim ws As Worksheet
 
 On Error Resume Next
 
 For Each ws In ActiveWorkbook.Worksheets
 
 If ws.Range("S5").Value = 0 Then
 ws.Visible = xlSheetHidden
 End If
 
 Next
 
 On Error GoTo 0
 
 End Sub
Gruß
Josef

Bild

Betrifft: Cells(19, 5) = Zelle E19 ... owT
von: Matthias L
Geschrieben am: 03.12.2015 16:44:45


Bild

Betrifft: bei cells steht die Spalte! hinten ... owT
von: Matthias L
Geschrieben am: 03.12.2015 16:23:14


Bild

Betrifft: AW: Register ausblenden
von: Matthias
Geschrieben am: 03.12.2015 16:35:49
Hallo Jessi,
hast du denn mehrere Mappen offen? Das Makro selbst sieht nämlich super aus, es könnte höchstens daran liegen, dass du eine andere Mappe aktiv hast. Eventuell solltest du darüber nachdenken statt 'ActiveWorkbook' lieber 'ThisWorkbook' im Code zu schreiben, damit wäre das Makro nur für die Mappe gültig in der es steht.
Ansonsten könnte es nur am Wert in S5 liegen, sprich deine Formel spuckt nicht Null aus, zeigt dir dank Formatierung aber Null oder auch Nichts an. Normalerweise ist eine leere Zelle ebenfalls wertmäßig Null, jedoch kann in deiner Formel auch ein Leerstring "" zurückgegeben werden. Dieser wird vom VBA nicht als Null erkannt, obwohl die Zelle leer scheint.
Hinzu kommt, dass in Excel immer ein Tabellenblatt sichtbar sein muss, daher kann das letzte behandelte Blatt nicht ausgeblendet werden, wenn alle anderen bereits versteckt sind. Dies bekommst du nicht mit, weil die Fehlerbehandlung eine Meldung unterdrückt.
lg Matthias

Bild

Betrifft: AW: Register ausblenden
von: Jessi
Geschrieben am: 04.12.2015 08:22:14
Vielen Dank an euch beide!
Mit der Lösung von Josef funktioniert es jetzt :)
Gruß
Jessi

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Register ausblenden"