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

Hoe een specifiek werkblad verbergen of zichtbaar maken op basis van de celwaarde in een ander blad?

Zijn er methoden waarmee we een specifiek werkbladtabblad kunnen verbergen of zichtbaar maken op basis van de celinhoud in een ander blad? Als ik bijvoorbeeld de tekst "Ja" in de cel G1 van Blad2 typ, wil ik dat Blad1 wordt verborgen, en wanneer ik "Nee" invoert, moet Blad1 meteen worden weergegeven. Hoe kan ik dit probleem oplossen in Excel?

Verberg of maak een specifiek werkbladtabblad zichtbaar op basis van de celwaarde met VBA-code


pijl blauw rechts bel Verberg of maak een specifiek werkbladtabblad zichtbaar op basis van de celwaarde met VBA-code

Om een ​​specifiek werkbladtabblad te verbergen of zichtbaar te maken op basis van een celwaarde in een ander werkblad, kan de volgende VBA-code u een plezier doen, doe dit als volgt:

1. Ga naar het werkblad met de celwaarde waarop u een ander blad wilt verbergen op basis van.

2. Klik met de rechtermuisknop op de bladtab en selecteer Bekijk code, in de pop uit Microsoft Visual Basic voor toepassingen venster, kopieer en plak de volgende code in het lege modulevenster, zie screenshot:

VBA-code: verberg of verberg een werkbladtabblad op basis van de celwaarde:

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

doc verbergen tabblad op basis van celwaarde 1

Opmerking: In de bovenstaande code, G1 en Ja zijn de cel- en celinhoud waarop u wilt baseren, en Sheet1 is het specifieke blad dat u wilt verbergen of zichtbaar wilt maken. U kunt ze naar wens aanpassen.

3. Sla vervolgens deze code op en sluit deze. Wanneer u "Nee" of andere tekst invoert in cel G1, wordt Blad1 verborgen, maar als u "Ja" invoert in de cel, wordt Blad1 meteen weergegeven, zie schermafbeeldingen:

doc verbergen tabblad op basis van celwaarde 2
1
doc verbergen tabblad op basis van celwaarde 3

 


De beste tools voor kantoorproductiviteit

Kutools voor Excel lost de meeste van uw problemen op en verhoogt uw productiviteit met 80%

  • visfuik: Snel invoegen complexe formules, grafieken en alles wat je eerder hebt gebruikt; Versleutel cellen met wachtwoord; Maak een mailinglijst en stuur e-mails ...
  • Super Formula-balk (bewerk eenvoudig meerdere regels tekst en formule); Lay-out lezen (gemakkelijk grote aantallen cellen lezen en bewerken); Plakken in gefilterd bereik...
  • Voeg cellen / rijen / kolommen samen zonder gegevens te verliezen; Gespleten cellen inhoud; Combineer dubbele rijen / kolommen... Voorkom dubbele cellen; Vergelijk Ranges...
  • Selecteer Dupliceren of Uniek Rijen; Selecteer lege rijen (alle cellen zijn leeg); Super zoeken en fuzzy zoeken in veel werkboeken; Willekeurige selectie ...
  • Exacte kopie Meerdere cellen zonder de formuleverwijzing te wijzigen; Maak automatisch verwijzingen naar meerdere bladen; Plaats kogels, Selectievakjes en meer ...
  • Extraheer tekst, Tekst toevoegen, Verwijderen op positie, Ruimte verwijderen; Paging-subtotalen maken en afdrukken; Converteren tussen celinhoud en opmerkingen...
  • Super filter (bewaar en pas filterschema's toe op andere bladen); Geavanceerd sorteren per maand / week / dag, frequentie en meer; Speciaal filter door vet, cursief ...
  • Combineer werkmappen en werkbladen; Tabellen samenvoegen op basis van sleutelkolommen; Gegevens splitsen in meerdere bladen; Batch Converteer xls, xlsx en PDF...
  • Meer dan 300 krachtige functies. Ondersteunt Office / Excel 2007-2021 en 365. Ondersteunt alle talen. Eenvoudig te implementeren in uw onderneming of organisatie. Volledige functies Gratis proefperiode van 30 dagen. 60 dagen geld-terug-garantie.
kte tabblad 201905

Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker

  • Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
  • Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
  • Verhoogt uw productiviteit met 50% en vermindert honderden muisklikken voor u elke dag!
officetab onderkant

 

Comments (22)
Nog geen beoordelingen. Beoordeel als eerste!
Deze opmerking is gemaakt door de moderator op de site
Hallo
Bedankt voor de tip. Ik moet hetzelfde scenario doen, maar niet op slechts één cel (G1 in dit geval) maar op alle cellen van kolom G. Ik heb geprobeerd met "Bereik" maar het werkte niet.

Particulier subwerkblad_Wijziging (ByVal-doel als bereik)
If Range("X2:X100") = "" Dan
Spreadsheets ("EU-TAAK GEBASEERDE METINGEN"). Zichtbaar = False
Anders
Spreadsheets ("EU-TAAK GEBASEERDE METINGEN"). Zichtbaar = True
End If
End Sub


Dank u bij voorbaat
Deze opmerking is gemaakt door de moderator op de site
Is er een kans dat dit is beantwoord? Ik kom ook dit scenario tegen waar een heel bereik in het spel komt in plaats van slechts één cel... Ik heb dezelfde codering gebruikt met dezelfde resultaten.
Deze opmerking is gemaakt door de moderator op de site
Ik heb 2 werkbladen als volgt gemaakt:
Particulier subwerkblad_Wijziging (ByVal-doel als bereik)
Als [C20] = "Ja" Dan
Spreadsheets ("sheet1"). Zichtbaar = True
Anders
Spreadsheets ("sheet1"). Zichtbaar = False
End If
Als [C22] = "Ja" Dan
Spreadsheets ("sheet2"). Zichtbaar = True
Anders
Spreadsheets ("sheet2"). Zichtbaar = False
End If
End Sub
Deze opmerking is gemaakt door de moderator op de site
Erg behulpzaam!
Deze opmerking is gemaakt door de moderator op de site
Ik wil kijken of je me kunt helpen met mijn probleem. Ik heb in wezen deze exacte code gehad in een blad dat ik gebruik, maar met een of-functie, zodat het antwoord "ja" of "waar" kan zijn. Het blad dat wordt verborgen/weergegeven, verbergt zich echter soms om onbekende redenen. Het wordt zichtbaar als ik ja typ, maar als ik het later ga gebruiken, is het weer verborgen, ook al is de celwaarde nog steeds ja. Enig idee waarom dit kan gebeuren en/of hoe dit op te lossen?
Code voor referentie:
Private Sub Worksheet_Change (ByVal Target As Range)'Verbergt/toont kalibratiepagina
Als [B18] = "Ja" of Target.Value = "True" Dan
Spreadsheets ("XXX-verificatie"). Zichtbaar = True
Anders
Spreadsheets ("XXX-verificatie"). Zichtbaar = False
End If

Deze opmerking is gemaakt door de moderator op de site
Hallo, ik heb een werkmap met meerdere benoemde tabbladen die aan de voorkant zijn gekoppeld aan een indexblad. De gebruiker kan de bladen die hij wil gebruiken selecteren door een vakje naast de bladnaam aan te vinken - blanco, N/A of Ja (vervolgkeuzelijst). Is er een manier om deze code aan te passen zodat het blad zichtbaar is als het selectievakje leeg is of "Ja" bevat, maar niet zichtbaar als het selectievakje "N.v.t." bevat.
Ik heb het geprobeerd, maar weet niet genoeg over VBA om het te laten werken. Bedankt
Deze opmerking is gemaakt door de moderator op de site
Ik wil bladen verbergen of zichtbaar maken op basis van een celwaarde (Ja/Nee). De waarden staan ​​in een tabel (tblFileContents) en kolom D4:D25 en de bladnaam staat in A4:A25 op blad . De volgorde van de artikelen kan worden gewijzigd. Heb je een verwijzing naar een voorbeeld waarmee ik dit kan doen?
Deze opmerking is gemaakt door de moderator op de site
Ik heb hetzelfde probleem en iemand anders heeft me een oplossing gegeven.
Maak een tabel (format als tabel) met 2 kolommen, noem de linkerkolom Bladen om te tonen/verbergen, de rechterkolom is aan jou. Zet alle bladnamen in de linkerkolom
Selecteer vervolgens Code weergeven voor dit tabblad en voer Dim Changed As Range, c As Range, rMTS As Range in
Dim ik zo lang
Dim bShowAll als Boolean

Stel rMTS = Range in ("TblShowHide[Mark to Show]")
Set gewijzigd = Intersect (Doel, rMTS)
Indien niet veranderd is niets dan
bShowAll = Len(rMTS.Cellen(1).Waarde) > 0
On Error Resume Next
Voor i = 2 Naar rMTS.Rows.Count
Sheets(Range("TblShowHide[Show/Hide Sheets]").Cells(i).Value).Visible = IIf(bShowAll, True, Len(rMTS.Cells(i).Value) > 0)
Volgende i
On Error GoTo 0
End If
End Sub


Deze opmerking is gemaakt door de moderator op de site
Ik zal dit eens proberen. Heel erg bedankt!
Deze opmerking is gemaakt door de moderator op de site
Ik weet niet zeker wat ik moet veranderen, maar het werkte niet voor mij.
Deze opmerking is gemaakt door de moderator op de site
Hallo Jean,
ja ik heb een voorbeeld dat ik hier heb bijgevoegd. Hernoem het bestand naar example.xlsm (het is niet gecomprimeerd, maar moest hernoemen om te uploaden)
Op het menutabblad is een tabel met de verschillende namen van tabbladen, maak een x of een ander teken om het tabblad weer te geven, als u het teken verwijdert, verbergt het tabblad.
Hoop dat helpt
Deze opmerking is gemaakt door de moderator op de site
Dit bevat verschillende items, maar geen Excel-bestand.
Deze opmerking is gemaakt door de moderator op de site
Ik wil een Menu/Inhoudsopgave hebben als mijn eerste werkblad en op basis van Ja/Nee-antwoorden - bepaalde werkbladen verschijnen, dat wil zeggen dat er meer dan 1 zichtbaar wordt.
Ik heb moeite om verschillende werkbladen te laten verschijnen op basis van de bovenstaande code.
Kan ik een EN-functie gebruiken, bijv. Als X-cel = "Ja" Dan Y-blad zichtbaar maken en Z-blad en K-blad?
Elk advies is zeer welkom.
Met vriendelijke groet
Helena
Deze opmerking is gemaakt door de moderator op de site
я вот не могу понять, как такое сделать в гугл таблицах именно?
Deze opmerking is gemaakt door de moderator op de site
Hallo vriend,

U kunt een nieuw Google-blad openen, een nieuw blad toevoegen zodat er een "Blad1" en een "Blad2" is en ga vervolgens naar Extra> Scripteditor. Plak het volgende in de editor.

functie mijnFunctie() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var blad1 = ss.getSheetByName ("Blad1");
var blad2 = ss.getSheetByName ("Blad2");

var cel1 = blad1.getRange('B2');

als (cel1.getValue() == 2) {
blad2.hideBlad();
}

als (cel1.getValue() == 3) {
blad2.showSheet();
}
}

Probeer het alsjeblieft.

Hoogachtend,
Mandy
Deze opmerking is gemaakt door de moderator op de site
Deze code werkt prima, maar ik heb 42 variabelen voor 70 vellen, dus deze code wordt erg lang en stopt met werken. Is er een manier om deze code in secties te maken om de codegrootte die VBA aankan niet te overschrijden? Of moet ik deze in twee afzonderlijke Excels verdelen?
Deze opmerking is gemaakt door de moderator op de site
Hallo, Liz
Sorry, op dit moment is er geen goede manier om uw probleem op te lossen.
Deze opmerking is gemaakt door de moderator op de site
Ik heb een waarde in cel B1 die als ja blad1 zichtbaar maakt, maar ook een waarde in B2, dat is als ja blad2 zichtbaar maakt enz enz. 10 verschillende vellen? Met dank
Deze opmerking is gemaakt door de moderator op de site
Hallo, Andy,
Gebruik de onderstaande code om uw probleem op te lossen:
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

Opmerking:: In de bovenstaande code hoeft u alleen maar de onderstaande scripts meerdere keren te kopiëren en de celverwijzing en bladnaam in uw eigen naam te wijzigen.
If [B2] = "Yes" Then
Sheets("Sheet1").Visible = True
Else
Sheets("Sheet1").Visible = False
End If


Probeer het alsjeblieft, ik hoop dat het je kan helpen!
Deze opmerking is gemaakt door de moderator op de site
Ik heb een probleem waarbij ik wil dat het tabblad wordt weergegeven voor een reeks waarden, in plaats van alleen JA of NEE. Wanneer ik de IF-instructie in de sub probeer te herhalen, krijg ik een foutmelding en wanneer ik meerdere waarden in de if-instructie probeer op te sommen, krijg ik een foutmelding. Om het even welke ideeën?

Het lijkt bijna alsof ik een IF/OR-statement moet gebruiken, maar ik weet niet zeker hoe dat zou werken.

Particulier subwerkblad_Wijziging (ByVal-doel als bereik)
Als [K6] = "VS 1", "VS 2", "VS 3", VS 4" Dan
Spreadsheets("Pagina6").Zichtbaar = Waar
Anders
Bladen("Pagina6").Zichtbaar = Onwaar
End If
End Sub
Deze opmerking is gemaakt door de moderator op de site
Hallo, Margaretha,
Om uw probleem op te lossen, past u de onderstaande code toe, u moet Or gebruiken om aan de voorwaarden te voldoen.
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

Probeer het alsjeblieft, ik hoop dat het je kan helpen!
Deze opmerking is gemaakt door de moderator op de site
Skyyang - dit werkte perfect. Dank u voor uw snelle reactie!
Er zijn nog geen reacties geplaatst
Laat uw commentaar
Posten als gast
×
Beoordeel dit bericht:
0   Personages
Voorgestelde locaties

Volg ons

Copyright © 2009 - www.extendoffice.com. | Alle rechten voorbehouden. Aangedreven door ExtendOffice. | Sitemap
Microsoft en het Office-logo zijn handelsmerken of gedeponeerde handelsmerken van Microsoft Corporation in de Verenigde Staten en / of andere landen.
Beschermd door Sectigo SSL