Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA Tabellenblätter ein/ausblenden

VBA Tabellenblätter ein/ausblenden
11.12.2020 13:03:37
Michael
Hi zusammen,
ich steh gerade irgendwie auf dem Schlauch.
Ich habe eine Datei mit recht vielen Tabellenblättern, die ich per Makro ein- und ausblenden will. Dazu hab ich eine Tabelle (AQ41:AR59). In AQ stehen jeweils die Namen der Tabellenblätter. In AR steht "ja" oder "nein".
Ich will hier zuerst auswählen welche Blätter ich brauche und dann mit einem Makro alle gewählten auf einmal einblenden lassen.
Der Code sieht folgendermaßen aus:
Sub Ein_ausblenden()
If Range("AR41").Value = "ja" Then
Sheets("K2").Visible = True
Else
Sheets("K2").Visible = False
End If
If Range("AR42").Value = "ja" Then
Sheets("K3").Visible = True
Else
Sheets("K3").Visible = False
End If
usw. bis zu K20.
Das Problem: Wenn ich mehrere "ja" habe, blendet er trotzdem immer nur ein Blatt ein, jedes mal eines, sobald ich das Makro ausführe, d.h. wenn ich 5 Blätter einblenden will, muss ich das Makro 5-mal ausführen.
Wenn ich nun aber in die entsprechenden Felder "nein" tippe und dann das Makro ausführe, blendet er alle Blätter auf einmal aus.
Kann mir jemand sagen, wieso das ausblenden korrekt funktioniert, aber nicht das einblenden?
Hab ich einen Fehler im Code?
Oder gibt es vll. eine viel einfachere Möglichkeit?
Danke euch vorab!
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Tabellenblätter ein/ausblenden
11.12.2020 13:14:30
onur
Klar, wenn du ELSE benutzt.
Wenn das und das
...
SONST (also WENN NICHT).
Schreibe statt ja und nein WAHR und FALSCH, dann kannst du so alle auf einmal ein- und ausblenden:
Dim i
For i=2 to 20
Sheets("K" & i).Visible= Range("AR" & 39+i).Value
Next i

Anzeige
AW: VBA Tabellenblätter ein/ausblenden
11.12.2020 13:19:49
onur
Oder so (mit ja und nein)
Dim i
For i=2 to 20
Sheets("K" & i).Visible= (Range("AR" & 39+i)="ja")
Next i

AW: VBA Tabellenblätter ein/ausblenden
11.12.2020 13:38:01
Werner
Hallo,
da würde ich das Change-Event des Blattes benutzen, auf dem du die Blattnamen stehen hast.
Siehe beiliegende Beispieldatei.
https://www.herber.de/bbs/user/142257.xlsm
Das Makro reagiert sofort, sobald du ein Ja eingibst bzw. das Ja wieder entfernst.
Gruß Werner
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige