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

Kako skriti ali razkriti določen delovni list glede na vrednost celice v drugem listu?

Ali obstajajo metode, s katerimi lahko skrijemo ali razkrijemo določen zavihek delovnega lista na podlagi vsebine celice na drugem listu? Ko na primer v celico G1 lista 2 vnesem besedilo »Da«, želim, da je list 1 skrit, in ko vnesem »ne«, se takoj prikaže list 1. Kako lahko rešim to težavo v Excelu?

Skrivanje ali razkrivanje določenega zavihka delovnega lista na podlagi vrednosti celice s kodo VBA


puščica modri desni mehurček Skrivanje ali razkrivanje določenega zavihka delovnega lista na podlagi vrednosti celice s kodo VBA

Če želite skriti ali razkriti določen zavihek delovnega lista, ki temelji na vrednosti celice na drugem delovnem listu, vam lahko naslednja koda VBA naredi uslugo, naredite naslednje:

1. Pojdite na delovni list, ki vsebuje vrednost celice, na podlagi katere želite skriti drug list.

2. Z desno miškino tipko kliknite zavihek lista in izberite Ogled kode, v izpuščenem Microsoft Visual Basic za aplikacije okno, kopirajte in prilepite naslednjo kodo v prazno okno modula, glejte posnetek zaslona:

Koda VBA: Skrivanje ali skrivanje zavihka delovnega lista glede na vrednost celice:

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 skrij zavihek na podlagi vrednosti celice 1

Opomba: V zgornji kodi je G1 in Da sta celica in vsebina celic, na katerih želite temeljiti, in Sheet1 je določen list, ki ga želite skriti ali razkriti. Lahko jih spremenite po svojih potrebah.

3. Nato shranite in zaprite to kodo. Ko v celico G1 vnesete »Ne« ali drugo besedilo, je Sheet1 skrit, če pa v celico vnesete »Yes«, se takoj prikaže Sheet1, glejte posnetke zaslona:

doc skrij zavihek na podlagi vrednosti celice 2
1
doc skrij zavihek na podlagi vrednosti celice 3

 


Najboljša orodja za pisarniško produktivnost

Kutools za Excel rešuje večino vaših težav in poveča vašo produktivnost za 80%

  • Ponovna uporaba: Hitro vstavite zapletene formule, grafikoni in vse, kar ste že uporabljali; Šifriraj celice z geslom; Ustvari poštni seznam in pošiljanje e-pošte ...
  • Vrstica Super Formula (enostavno urejanje več vrstic besedila in formule); Bralna postavitev (enostavno branje in urejanje velikega števila celic); Prilepite v filtrirani obseg...
  • Združi celice / vrstice / stolpce brez izgube podatkov; Vsebina razdeljenih celic; Združi podvojene vrstice / stolpce... prepreči podvojene celice; Primerjaj obsege...
  • Izberite Duplicate ali Unique Vrstice; Izberite prazne vrstice (vse celice so prazne); Super Find in Fuzzy Find v mnogih delovnih zvezkih; Naključna izbira ...
  • Natančna kopija Več celic brez spreminjanja sklica formule; Samodejno ustvarjanje referenc na več listov; Vstavi oznake, Potrditvena polja in še več ...
  • Izvleček besedila, Dodaj besedilo, Odstrani po položaju, Odstrani presledek; Ustvari in natisni vmesne seštevke strani Pretvarjanje med vsebino celic in komentarji...
  • Super filter (shranite in uporabite sheme filtrov za druge liste); Napredno razvrščanje glede na mesec / teden / dan, pogostost in drugo; Poseben filter s krepko, ležeče ...
  • Združite delovne zvezke in delovne liste; Spoji tabele na podlagi ključnih stolpcev; Razdelite podatke na več listov; Paketna pretvorba xls, xlsx in PDF...
  • Več kot 300 zmogljivih funkcij. Podpira Office / Excel 2007-2021 in 365. Podpira vse jezike. Enostavna uvedba v vašem podjetju ali organizaciji. 30-dnevna brezplačna preizkusna različica vseh funkcij. 60-dnevna garancija vračila denarja.
zavihek kte 201905

Kartica Office prinaša vmesnik z zavihki v Office in poenostavi vaše delo

  • Omogočite urejanje in branje z zavihki v Wordu, Excelu, PowerPointu, Publisher, Access, Visio in Project.
  • Odprite in ustvarite več dokumentov v novih zavihkih istega okna in ne v novih oknih.
  • Poveča vašo produktivnost za 50%in vsak dan zmanjša na stotine klikov miške za vas!
dno pisarniške mize

 

Komentarji (23)
Ocene še ni. Bodite prvi in ​​ocenite!
Ta komentar je moderator na spletnem mestu minimiziral
Živijo
Hvala za namig. Moram narediti isti scenarij, vendar ne samo na eni celici (v tem primeru G1), ampak na vseh celicah stolpca G. Poskusil sem z "Range", vendar ni delovalo.

Zasebni poddelovni list_Spremeni (ByVal Target As Range)
Če je Range("X2:X100") = "" Potem
Sheets("EU TASK BAZED MEASUREMENTS").Vidno = False
Else
Sheets("EU TASK BAZED MEASUREMENTS").Vidno = True
Konec Če
End Sub


Hvala v naprej
Ta komentar je moderator na spletnem mestu minimiziral
Ali obstaja možnost, da je bilo to odgovorjeno? Naletel sem tudi na ta scenarij, kjer se namesto ene celice pojavi celoten obseg... Uporabil sem isto kodiranje z enakimi rezultati.
Ta komentar je moderator na spletnem mestu minimiziral
Naredil sem 2 delovna lista, kot sledi:
Zasebni poddelovni list_Spremeni (ByVal Target As Range)
Če je [C20] = "Da", potem
Listi("list1").Vidno = True
Else
Listi("list1").Vidno = False
Konec Če
Če je [C22] = "Da", potem
Listi("list2").Vidno = True
Else
Listi("list2").Vidno = False
Konec Če
End Sub
Ta komentar je moderator na spletnem mestu minimiziral
Zelo koristno!
Ta komentar je moderator na spletnem mestu minimiziral
Želim videti, ali lahko pomagate pri moji težavi. V bistvu sem imel to natančno kodo na listu, ki ga uporabljam, vendar s funkcijo ali, tako da je odgovor lahko "da" ali "res". Vendar se list, ki je skrit/razkrit, včasih znova skrije iz neznanih razlogov. Ko vnesem da, se bo razkrilo, ko pa ga bom pozneje uporabil, je spet skrito, čeprav je vrednost celice še vedno da. Imate kakšno idejo, zakaj se to lahko zgodi in/ali kako to popraviti?
Koda za referenco:
Private Sub Worksheet_Change(ByVal Target As Range)'Skrije/razkriva stran za kalibracijo
Če [B18] = "Da" ali Target.Value = "True" Potem
Sheets("XXX Verification").Vidno = True
Else
Sheets("XXX Verification").Vidno = False
Konec Če

Ta komentar je moderator na spletnem mestu minimiziral
Živjo, imam delovni zvezek z več poimenovanimi zavihki, ki so povezani z indeksnim listom na sprednji strani. Uporabnik lahko izbere liste, ki jih želi uporabiti, tako da označi polje poleg imena lista – prazno, N/A ali Da (spustni seznam). Ali obstaja način za prilagoditev te kode, tako da je list viden, če je potrditveno polje prazno ali vsebuje "Da", vendar ni vidno, če potrditveno polje vsebuje "N/A".
Poskušal sem, vendar ne vem dovolj o VBA, da bi deloval. Hvala
Ta komentar je moderator na spletnem mestu minimiziral
Želim skriti ali razkriti liste na podlagi vrednosti celice (Da/Ne). Vrednosti so v tabeli (tblFileContents) in stolpcu D4:D25, ime lista pa v A4:A25 na listu . Vrstni red predmetov se lahko spremeni. Ali imate sklicevanje na primer, ki bi mi omogočil to?
Ta komentar je moderator na spletnem mestu minimiziral
Imam isti problem in nekdo drug je ponudil rešitev.
Naredite tabelo (oblikujte kot tabelo) z 2 stolpcema, poimenujte levi stolpec Listi, ki jih želite prikazati/skriti, desni stolpec je odvisno od vas. Vsa imena listov vstavite v levi stolpec
Nato za ta zavihek izberite Prikaži kodo in vnesite Dim Changed As Range, c As Range, rMTS As Range
Dim i as Long
Dim bShowAll kot Boolean

Nastavite rMTS = Range("TblShowHide[Označi za prikaz]")
Nastavitev spremenjena = preseči (cilj, rMTS)
Če se ne spremeni, potem ni nič
bShowAll = Len(rMTS.Cells(1).Value) > 0
On Error Resume Next
Za i = 2 Za rMTS.Rows.Count
Sheets(Range("TblShowHide[Show/Hide Sheets]").Cells(i).Value).Visible = IIf(bShowAll, True, Len(rMTS.Cells(i).Value) > 0)
Naslednja i
Ob napaki Pojdi na 0
Konec Če
End Sub


Ta komentar je moderator na spletnem mestu minimiziral
To bom poskusil. Najlepša hvala!
Ta komentar je moderator na spletnem mestu minimiziral
Ne vem, kaj moram spremeniti, vendar mi ni delovalo.
Ta komentar je moderator na spletnem mestu minimiziral
Zdravo, Jean,
ja imam primer, ki sem ga priložil tukaj. Preimenujte datoteko v example.xlsm (ni stisnjena, ampak jo je bilo treba preimenovati za nalaganje)
Na zavihku menija je tabela z različnimi imeni zavihkov, naredite x ali kateri koli drug znak za prikaz zavihka, če odstranite znak, se zavihek skrije.
Upam, da to pomaga
Ta komentar je moderator na spletnem mestu minimiziral
Ta vsebuje več elementov, vendar brez Excelove datoteke.
Ta komentar je moderator na spletnem mestu minimiziral
Želim imeti meni/vsebino kot svoj prvi delovni list in na podlagi odgovorov z da/ne – nekateri delovni listi se pojavijo, tj. postane vidnih več kot 1.
Trudim se, da se na podlagi zgornje kode prikaže več delovnih listov.
Ali lahko uporabim funkcijo IN, npr. Če je X celica = "Da" Nato naredi Y list viden in Z list in K list?
Vsak nasvet zelo dobrodošel.
S spoštovanjem
Helen
Ta komentar je moderator na spletnem mestu minimiziral
A ja вот ne morem razumeti, kako to naredim v gugle tabele?
Ta komentar je moderator na spletnem mestu minimiziral
Pozdravljen, prijatelj,

Odprete lahko nov Googlov list, dodate nov list, tako da sta "List1" in "List2", nato pa pojdite na Orodja > Urejevalnik skriptov. V urejevalnik prilepite naslednje.

funkcija mojaFunkcija() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var list1 = ss.getSheetByName("List1");
var list2 = ss.getSheetByName("List2");

var celica1 = list1.getRange('B2');

če (cell1.getValue() == 2) {
list2.hideSheet();
}

če (cell1.getValue() == 3) {
list2.showSheet();
}
}

Prosimo, poskusite.

S spoštovanjem,
Mandy
Ta komentar je moderator na spletnem mestu minimiziral
Ta koda deluje odlično, vendar imam 42 spremenljivk za 70 listov, zato ta koda postane zelo dolga in preneha delovati. Ali obstaja način, da to kodo naredite v razdelkih, da ne presežete velikosti kode, ki jo lahko obravnava VBA? Ali pa jih moram razdeliti na dva ločena excela?
Ta komentar je moderator na spletnem mestu minimiziral
Živjo, Liz
Oprostite, trenutno ni dobrega načina za rešitev vaše težave.
Ta komentar je moderator na spletnem mestu minimiziral
V celici B1 imam vrednost, ki, če je odgovor da, razkrije list1, a tudi vrednost v B2, ki je, če je odgovor da, razkrije list2 itd. itd. skrije/razkrije zadnji list v redu, preostalih pa ne, kako naj razkrijem recimo 10 vrednosti 10 različnih listov? hvala
Ta komentar je moderator na spletnem mestu minimiziral
Živjo, Andy,
Če želite rešiti težavo, uporabite spodnjo kodo:
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

Opombe: V zgornji kodi morate samo večkrat kopirati spodnje skripte in spremeniti referenco celice in ime lista na svoje.
If [B2] = "Yes" Then
Sheets("Sheet1").Visible = True
Else
Sheets("Sheet1").Visible = False
End If


Prosimo, poskusite, upam, da vam bo pomagalo!
Ta komentar je moderator na spletnem mestu minimiziral
Imam težavo, pri kateri želim, da se zavihek prikaže za vrsto vrednosti in ne le za DA ali NE. Ko poskušam ponoviti stavek IF v sub, mi prikaže napako in ko poskušam navesti več vrednosti v stavku if, dobim napako. Kaj idej?

Skoraj se zdi, da moram uporabiti stavek IF/ALI, vendar nisem prepričan, kako bi to delovalo.

Zasebni poddelovni list_Spremeni (ByVal Target As Range)
Če [K6] = "VS 1", "VS 2", "VS 3", VS 4" potem
Listi ("Page6"). Visible = True
Else
Listi ("Page6"). Visible = False
Konec Če
End Sub
Ta komentar je moderator na spletnem mestu minimiziral
Živjo, Margaret,
Če želite rešiti vašo težavo, uporabite spodnjo kodo, uporabite Ali, da se pridružite pogojem.
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

Prosimo, poskusite, upam, da vam bo pomagalo!
Ta komentar je moderator na spletnem mestu minimiziral
Skyyang - to je delovalo odlično. Hvala za vaš hiter odgovor!
Ta komentar je moderator na spletnem mestu minimiziral
Poskušam uporabiti to, vendar se prikaže "napaka pri prevajanju - ni mogoče najti projekta ali knjižnice" in označuje celico, kjer je spustni meni Da/Ne. Mislim, da je morda posledica tega, da gre za združeno celico, ali obstaja kakšna rešitev za to?
Tu še ni objavljenih komentarjev
Pustite vaše komentarje
Objava kot gost
×
Ocenite to objavo:
0   Znaki
Predlagane lokacije

Sledi nam

Copyright © 2009 - www.extendoffice.com. | Vse pravice pridržane. Poganja ga ExtendOffice. | Kazalo
Microsoft in logotip Office sta blagovni znamki ali registrirani blagovni znamki družbe Microsoft Corporation v ZDA in / ali drugih državah.
Zaščiteno s Sectigo SSL