Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1796to1800
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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!

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

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

320 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige