Note: The other languages of the website are Google-translated. Back to English

Wie kann ich ein bestimmtes Arbeitsblatt basierend auf dem Zellenwert in einem anderen Blatt ein- oder ausblenden?

Gibt es Methoden, mit denen wir eine bestimmte Arbeitsblattregisterkarte basierend auf einem Zelleninhalt in einem anderen Blatt ein- oder ausblenden können? Wenn ich beispielsweise den Text "Ja" in die Zelle G1 von Blatt2 eingebe, möchte ich, dass das Blatt1 ausgeblendet wird, und wenn ich "Nein" eingebe, wird das Blatt1 sofort angezeigt. Wie kann ich dieses Problem in Excel lösen?

Ein- oder Ausblenden einer bestimmten Arbeitsblattregisterkarte basierend auf dem Zellenwert mit VBA-Code


Pfeil blau rechte Blase Ein- oder Ausblenden einer bestimmten Arbeitsblattregisterkarte basierend auf dem Zellenwert mit VBA-Code

Um eine bestimmte Arbeitsblattregisterkarte basierend auf einem Zellenwert in einem anderen Arbeitsblatt ein- oder auszublenden, kann der folgende VBA-Code Ihnen einen Gefallen tun. Gehen Sie wie folgt vor:

1. Wechseln Sie zum Arbeitsblatt, das den Zellenwert enthält, auf dem Sie ein anderes Blatt ausblenden möchten.

2. Klicken Sie mit der rechten Maustaste auf die Registerkarte Blatt und wählen Sie Code anzeigen, in der herausgesprungen Microsoft Visual Basic für Applikationen Fenster, bitte kopieren Sie den folgenden Code und fügen Sie ihn in das leere Modulfenster ein, siehe Screenshot:

VBA-Code: Ein- oder Ausblenden einer Arbeitsblattregisterkarte basierend auf dem Zellenwert:

Private Sub Worksheet_Change(ByVal Target As Range)
If [G1] = "Yes" Then
Sheets("Sheet1").Visible = True
Else
Sheets("Sheet1").Visible = False
End If
End Sub

Registerkarte "doc hide" basierend auf dem Zellenwert 1

Hinweis: In dem obigen Code, G1 und Ja sind die Zelle und der Zelleninhalt, auf denen Sie basieren möchten, und Sheet1 ist das spezifische Blatt, das Sie ein- oder ausblenden möchten. Sie können sie nach Ihren Wünschen ändern.

3. Speichern und schließen Sie diesen Code, wenn Sie "Nein" oder anderen Text in Zelle G1 eingeben, wird Blatt1 ausgeblendet. Wenn Sie jedoch "Ja" in die Zelle eingeben, wird Blatt1 sofort angezeigt (siehe Screenshots):

Registerkarte "doc hide" basierend auf dem Zellenwert 2
1
Registerkarte "doc hide" basierend auf dem Zellenwert 3

 


Die besten Tools für die Office-Produktivität

Kutools for Excel löst die meisten Ihrer Probleme und erhöht Ihre Produktivität um 80%

  • Wiederverwendung: Schnell einfügen komplexe Formeln, Diagramme und alles, was du vorher benutzt hast; Zellen verschlüsseln mit Passwort; Mailingliste erstellen und E-Mails senden ...
  • Super Formelriegel (leicht mehrere Textzeilen und Formeln bearbeiten); Layout lesen (leichtes Lesen und Bearbeiten einer großen Anzahl von Zellen); In gefilterten Bereich einfügen...
  • Zellen / Zeilen / Spalten zusammenführen ohne Daten zu verlieren; Inhalt geteilter Zellen; Kombinieren Sie doppelte Zeilen / Spalten... doppelte Zellen verhindern; Bereiche vergleichen...
  • Wählen Sie Duplizieren oder Eindeutig Reihen; Wählen Sie Leere Zeilen (alle Zellen sind leer); Super Find und Fuzzy Find in vielen Arbeitsmappen; Zufällige Auswahl ...
  • Exakte Kopie Mehrere Zellen ohne Änderung der Formelreferenz; Referenzen automatisch erstellen zu mehreren Blättern; Aufzählungszeichen einfügen, Kontrollkästchen und mehr ...
  • Text extrahieren, Text hinzufügen, Nach Position entfernen, Leerzeichen entfernen;; Paging-Zwischensummen erstellen und drucken; Inhalt und Kommentare zwischen Zellen konvertieren...
  • Superfilter (Speichern und Anwenden von Filterschemata auf andere Blätter); Erweiterte Sortierung nach Monat / Woche / Tag, Häufigkeit und mehr; Spezialfilter fett, kursiv ...
  • Kombinieren Sie Arbeitsmappen und Arbeitsblätter;; Tabellen basierend auf Schlüsselspalten zusammenführen; Daten in mehrere Blätter aufteilen; Batch-Konvertierung von xls, xlsx und PDF...
  • Mehr als 300 leistungsstarke Funktionen. Unterstützt Office / Excel 2007-2021 und 365. Unterstützt alle Sprachen. Einfache Bereitstellung in Ihrem Unternehmen oder Ihrer Organisation. 30-tägige kostenlose Testversion mit allen Funktionen. 60 Tage Geld-zurück-Garantie.
kte tab 201905

Office Tab Bringt die Oberfläche mit Registerkarten in Office und erleichtert Ihnen die Arbeit erheblich

  • Aktivieren Sie das Bearbeiten und Lesen von Registerkarten in Word, Excel und PowerPoint, Publisher, Access, Visio und Project.
  • Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters und nicht in neuen Fenstern.
  • Steigert Ihre Produktivität um 50 % und reduziert jeden Tag Hunderte von Mausklicks für Sie!
officetab unten

 

Kommentare (23)
Noch keine Bewertungen. Bewerten Sie als Erster!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo
Danke für den Tipp. Ich muss das gleiche Szenario machen, aber nicht nur für eine Zelle (in diesem Fall G1), sondern für alle Zellen der Spalte G. Ich habe es mit "Range" versucht, aber es hat nicht funktioniert.

Private Sub Worksheet_Change (ByVal-Ziel als Bereich)
Wenn Range("X2:X100") = "" Then
Sheets("AUFGABENBASIERTE MESSUNGEN DER EU").Visible = False
sonst
Sheets("AUFGABENBASIERTE MESSUNGEN DER EU").Visible = True
End If
End Sub


Vielen Dank im Voraus
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Gibt es eine Chance, dass dies beantwortet wurde? Ich stoße auch auf dieses Szenario, in dem eine ganze Reihe statt nur einer Zelle ins Spiel kommt ... Ich habe dieselbe Codierung mit denselben Ergebnissen verwendet.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Ich habe 2 Arbeitsblätter wie folgt gemacht:
Private Sub Worksheet_Change (ByVal-Ziel als Bereich)
Wenn [C20] = "Ja" Dann
Sheets("sheet1").Visible = True
sonst
Sheets("sheet1").Visible = False
End If
Wenn [C22] = "Ja" Dann
Sheets("sheet2").Visible = True
sonst
Sheets("sheet2").Visible = False
End If
End Sub
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Sehr hilfreich!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Ich möchte sehen, ob Sie mir bei meinem Problem helfen können. Ich hatte im Wesentlichen genau diesen Code in einem Blatt, das ich verwende, aber mit einer oder-Funktion, sodass die Antwort "ja" oder "wahr" sein kann. Das Blatt, das ausgeblendet/eingeblendet wird, wird jedoch manchmal aus unbekannten Gründen wieder ausgeblendet. Es wird eingeblendet, wenn ich „Ja“ eingebe, aber wenn ich es später verwende, wird es wieder ausgeblendet, obwohl der Zellenwert immer noch „Ja“ ist. Irgendeine Idee, warum das passieren könnte und/oder wie man es beheben kann?
Referenzcode:
Private Sub Worksheet_Change(ByVal Target As Range)' Blendet die Kalibrierungsseite ein/aus
Wenn [B18] = "Ja" oder Ziel.Wert = "Wahr" Dann
Sheets("XXX-Verifizierung").Visible = True
sonst
Sheets ("XXX-Bestätigung").Visible = False
End If

Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo, ich habe eine Arbeitsmappe mit mehreren benannten Registerkarten, die vorne mit einem Indexblatt verknüpft sind. Der Benutzer kann die Blätter auswählen, die er verwenden möchte, indem er ein Kästchen neben dem Blattnamen aktiviert – leer, N/A oder Ja (Dropdown-Liste). Gibt es eine Möglichkeit, diesen Code so anzupassen, dass das Blatt sichtbar ist, wenn das Kontrollkästchen leer ist oder "Ja" enthält, aber nicht sichtbar ist, wenn das Kontrollkästchen "N/A" enthält?
Ich habe es versucht, weiß aber nicht genug über VBA, damit es funktioniert. Vielen Dank
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Ich möchte Blätter basierend auf einem Zellenwert (Ja/Nein) ein- oder ausblenden. Die Werte befinden sich in einer Tabelle (tblFileContents) und Spalte D4:D25 und der Blattname ist in A4:A25 auf dem Blatt . Die Reihenfolge der Elemente kann geändert werden. Haben Sie einen Verweis auf ein Beispiel, das es mir ermöglichen würde, dies zu tun?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Ich habe das gleiche Problem und jemand anderes hat eine Lösung bereitgestellt.
Erstellen Sie eine Tabelle (Format als Tabelle) mit 2 Spalten, benennen Sie die linke Spalte Blätter zum Ein-/Ausblenden, die rechte Spalte liegt bei Ihnen. Tragen Sie alle Blattnamen in die linke Spalte ein
Wählen Sie dann Code anzeigen für diese Registerkarte und geben Sie Dim Changed As Range, c As Range, rMTS As Range ein
Dim ich als lang
Dim bShowAll As Boolean

Setze rMTS = Range("TblShowHide[Mark to Show]")
Set Changed = Intersect(Target, rMTS)
Wenn nichts geändert wird, ist dann nichts
bShowAll = Len(rMTS.Cells(1).Value) > 0
On Error Resume Next
Für i = 2 bis rMTS.Rows.Count
Sheets(Range("TblShowHide[Show/Hide Sheets]").Cells(i).Value).Visible = IIf(bShowAll, True, Len(rMTS.Cells(i).Value) > 0)
Weiter ich
Bei Fehler GoTo 0
End If
End Sub


Dieser Kommentar wurde vom Moderator auf der Website minimiert
Ich werde es versuchen. Vielen Dank!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Ich bin mir nicht sicher, was ich ändern muss, aber es hat bei mir nicht funktioniert.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo Jean,
Ja, ich habe ein Beispiel, das ich hier angehängt habe. Benennen Sie die Datei in example.xlsm um (sie ist nicht gezippt, musste aber zum Hochladen umbenannt werden)
Auf der Menüregisterkarte befindet sich eine Tabelle mit den verschiedenen Registerkartennamen. Machen Sie ein x oder ein beliebiges anderes Zeichen, um die Registerkarte anzuzeigen. Wenn Sie das Zeichen entfernen, wird die Registerkarte ausgeblendet.
Ich hoffe, das hilft
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Diese enthält mehrere Elemente, aber keine Excel-Datei.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Ich möchte ein Menü/Inhaltsverzeichnis als mein erstes Arbeitsblatt haben und basierend auf Ja/Nein-Antworten erscheinen bestimmte Arbeitsblätter, dh mehr als 1 wird sichtbar.
Ich habe Mühe, mehrere Arbeitsblätter basierend auf dem obigen Code anzuzeigen.
Kann ich eine UND-Funktion verwenden, z. B. Wenn X-Zelle = "Ja", dann Y-Blatt sichtbar machen und Z-Blatt und K-Blatt?
Jeder Rat ist sehr willkommen.
Grüße
Helen
Dieser Kommentar wurde vom Moderator auf der Website minimiert
А я вот не могу понять, как такое сделать в гугл таблицах именно?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo Freund,

Sie können ein neues Google-Blatt öffnen, ein neues Blatt hinzufügen, sodass es ein „Blatt1“ und ein „Blatt2“ gibt, und dann zu Extras > Skripteditor gehen. Fügen Sie im Editor Folgendes ein.

Funktion meineFunktion() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet1 = ss.getSheetByName("Sheet1");
var sheet2 = ss.getSheetByName("Sheet2");

var cell1 = sheet1.getRange('B2');

if (cell1.getValue() == 2) {
sheet2.hideSheet();
}

if (cell1.getValue() == 3) {
sheet2.showSheet();
}
}

Bitte versuchen Sie es.

Mit freundlichen Grüßen
Mandy
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Dieser Code funktioniert großartig, aber ich habe 42 Variablen für 70 Blätter, so dass dieser Code sehr lang wird und nicht mehr funktioniert. Gibt es eine Möglichkeit, diesen Code in Abschnitten zu erstellen, um die Codegröße nicht zu überschreiten, die VBA verarbeiten kann? Oder muss ich diese in zwei separate Excels aufteilen?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo Liz
Entschuldigung, derzeit gibt es keine gute Möglichkeit, Ihr Problem zu lösen.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Ich habe einen Wert in Zelle B1, der, wenn ja, Sheet1 einblendet, aber auch einen Wert in B2, das heißt, wenn ja, Sheet2 usw. einblendet 10 verschiedene Blätter? Danke
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo, Andi,
Um Ihr Problem zu lösen, wenden Sie bitte den folgenden Code an:
Private Sub Worksheet_Change(ByVal Target As Range)
If [B2] = "Yes" Then
Sheets("Sheet1").Visible = True
Else
Sheets("Sheet1").Visible = False
End If
If [B3] = "Yes" Then
Sheets("Sheet2").Visible = True
Else
Sheets("Sheet2").Visible = False
End If
If [B4] = "Yes" Then
Sheets("Sheet3").Visible = True
Else
Sheets("Sheet3").Visible = False
End If
If [B5] = "Yes" Then
Sheets("Sheet4").Visible = True
Else
Sheets("Sheet4").Visible = False
End If
If [B6] = "Yes" Then
Sheets("Sheet5").Visible = True
Else
Sheets("Sheet5").Visible = False
End If
End Sub

Hinweis: Im obigen Code müssen Sie nur die folgenden Skripte mehrmals kopieren und die Zellreferenz und den Blattnamen in Ihre eigenen ändern.
If [B2] = "Yes" Then
Sheets("Sheet1").Visible = True
Else
Sheets("Sheet1").Visible = False
End If


Bitte versuchen Sie es, ich hoffe, es kann Ihnen helfen!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Ich habe ein Problem, bei dem ich möchte, dass die Registerkarte für eine Reihe von Werten angezeigt wird, anstatt nur ein JA oder NEIN. Wenn ich versuche, die IF-Anweisung im Sub zu wiederholen, erhalte ich eine Fehlermeldung, und wenn ich versuche, mehrere Werte in der if-Anweisung aufzulisten, erhalte ich eine Fehlermeldung. Irgendwelche Ideen?

Es scheint fast so, als müsste ich eine IF / OR-Anweisung verwenden, bin mir aber nicht sicher, wie das funktionieren würde.

Private Sub Worksheet_Change (ByVal-Ziel als Bereich)
Wenn [K6] = „VS 1“, „VS 2“, „VS 3“, VS 4“ Dann
Sheets("Seite6").Visible = True
sonst
Sheets("Seite6").Visible = False
End If
End Sub
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo Margret,
Um Ihr Problem zu lösen, wenden Sie bitte den folgenden Code an, Sie sollten Or verwenden, um den Bedingungen beizutreten.
Private Sub Worksheet_Change(ByVal Target As Range)
If [K6] = "VS 1" Or [K6] = "VS 2" Or [K6] = "VS 3" Or [K6] = "VS 4" Then
Sheets("Page6").Visible = True
Else
Sheets("Page6").Visible = False
End If
End Sub

Bitte versuchen Sie es, ich hoffe, es kann Ihnen helfen!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Skyyang - das hat perfekt funktioniert. Vielen Dank für Ihre prompte Antwort!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Ich versuche, dies zu verwenden, aber es kommt mit "Kompilierungsfehler - Projekt oder Bibliothek kann nicht gefunden werden" und es wird die Zelle hervorgehoben, in der sich das Ja / Nein-Dropdown befindet. Ich denke, es kann daran liegen, dass es sich um eine zusammengeführte Zelle handelt. Gibt es eine Möglichkeit, dies zu umgehen?
Es sind noch keine Kommentare vorhanden
Hinterlassen Sie Ihre Kommentare
Als Gast posten
×
Bewerte diese Nachricht:
0   Figuren
Vorgeschlagene Standorte

Folgen Sie uns

Copyright © 2009 - www.extendoffice.com. | Alle Rechte vorbehalten. Unterstützt von ExtendOffice. | Sitemap
Microsoft und das Office-Logo sind Marken oder eingetragene Marken der Microsoft Corporation in den USA und / oder anderen Ländern.
Geschützt durch Sectigo SSL