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

Hogyan lehet elrejteni vagy elrejteni egy adott munkalapot egy másik lap cellája alapján?

Vannak-e módszerek egy adott munkalap fül elrejtésére vagy elrejtésére egy másik lap cellatartalma alapján? Például amikor beírom az „Igen” szöveget a 1. lap G2 cellájába, azt akarom, hogy a 1. lap el legyen rejtve, a „Nem” beírásakor pedig az 1. lap egyszerre jelenjen meg. Hogyan tudnám megoldani ezt a problémát az Excel programban?

Egy adott munkalap fül elrejtése vagy elrejtése a VBA kóddal ellátott cellaérték alapján


nyíl kék jobb buborék Egy adott munkalap fül elrejtése vagy elrejtése a VBA kóddal ellátott cellaérték alapján

Egy adott munkalap fül elrejtése vagy elrejtése egy másik munkalap cellájának értéke alapján a következő VBA-kódnak kedvezhet, kérjük, tegye a következőket:

1. Lépjen a munkalapra, amely azt a cellaértéket tartalmazza, amely alapján egy másik lapot el akar rejteni.

2. Kattintson a jobb gombbal a lap fülre, és válassza a lehetőséget Kód megtekintése, a kiugrott Microsoft Visual Basic for Applications ablakba, kérjük, másolja és illessze be a következő kódot az üres Modul ablakba, lásd a képernyőképet:

VBA kód: Munkalap lap elrejtése vagy elrejtése a cella értéke alapján:

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 elrejtése fül az 1. cellaérték alapján

Jegyzet: A fenti kódban G1 és Igen azok a cellák és cellatartalmak, amelyekre alapozni kíván, és Sheet1 az a konkrét lap, amelyet el akar rejteni vagy elrejteni. Igény szerint megváltoztathatja őket.

3. Ezután mentse el és zárja be ezt a kódot, amikor a „Nem” vagy más szöveget beírja a G1 cellába, az 1. lap el van rejtve, de ha az „Igen” értéket adja meg a cellában, akkor a 1. lap egyszerre jelenik meg, lásd a képernyőképeket:

doc elrejtése fül az 2. cellaérték alapján
1
doc elrejtése fül az 3. cellaérték alapján

 


A legjobb irodai termelékenységi eszközök

A Kutools for Excel megoldja a legtöbb problémát, és 80% -kal növeli a termelékenységet

  • újrafelhasználás: Gyorsan helyezze be összetett képletek, diagramok és bármi, amit korábban használt; Cellák titkosítása jelszóval; Levelezőlista létrehozása és e-maileket küldeni ...
  • Szuper Formula Bár (könnyedén szerkeszthet több szöveget és képletet); Olvasás elrendezés (könnyen olvasható és szerkeszthető nagyszámú cella); Beillesztés a Szűrt tartományba...
  • Cellák / sorok / oszlopok egyesítése az adatok elvesztése nélkül; Osztott cellák tartalma; Kombinálja a duplikált sorokat / oszlopokat... megakadályozza az ismétlődő cellákat; Hasonlítsa össze a tartományokat...
  • Válassza a Másolat vagy az Egyedi lehetőséget Sorok; Válassza az Üres sorok lehetőséget (az összes cella üres); Super Find és Fuzzy Find sok munkafüzetben; Véletlenszerű kiválasztás ...
  • Pontos másolás Több cella a képletreferencia megváltoztatása nélkül; Automatikus referenciák létrehozása több lapra; Helyezze be a golyókat, Jelölőnégyzetek és még sok más ...
  • Kivonat szöveg, Szöveg hozzáadása, Eltávolítás pozíció szerint, Hely eltávolítása; Hozz létre és nyomtasson személyhívó részösszegeket; Konvertálás a cellatartalom és a megjegyzések között...
  • Szuper szűrő (mentse el és alkalmazza a szűrősémákat más lapokra); Haladó rendezés hónap / hét / nap, gyakoriság és egyebek szerint; Speciális szűrő félkövér, dőlt betűvel ...
  • Kombinálja a munkafüzeteket és a munkalapokat; Táblázatok egyesítése kulcsoszlopok alapján; Az adatok felosztása több lapra; Kötegelt konvertálás xls, xlsx és PDF...
  • Több mint 300 hatékony funkció. Támogatja az Office / Excel 2007-2021 és 365 verziókat. Minden nyelvet támogat. Könnyű üzembe helyezés vállalatában vagy szervezetében. Teljes funkciók 30 napos ingyenes próbaverzió. 60 napos pénzvisszafizetési garancia.
kte lap 201905

Az Office fül a füles felületet hozza az Office-ba, és sokkal könnyebbé teszi a munkáját

  • Füles szerkesztés és olvasás engedélyezése Wordben, Excelben és PowerPointban, Publisher, Access, Visio és Project.
  • Több dokumentum megnyitása és létrehozása ugyanazon ablak új lapjain, mint új ablakokban.
  • 50% -kal növeli a termelékenységet, és naponta több száz kattintással csökkenti az egér kattintását!
officetab alja

 

A megjegyzések rendezése szerint
Hozzászólások (23)
Még nincs értékelés. Legyen Ön az első, aki értékel!
A weboldal moderátora ezt a megjegyzést minimalizálta
Helló
Köszönöm a tippet. Ugyanezt a forgatókönyvet kell megcsinálnom, de nem csak egy cellán (ebben az esetben G1), hanem a G oszlop összes celláján. Próbálkoztam a "Tartomány"-val, de nem működött.

Private Sub Worksheet_Change (ByVal Target mint Range)
Ha Tartomány("X2:X100") = "" Akkor
Sheets("EU FELADATALAN MÉRÉSEK"). Látható = False
Más
Sheets("EU FELADATALAN MÉRÉSEK"). Látható = igaz
Ha véget
End Sub


Előre is köszönöm
A weboldal moderátora ezt a megjegyzést minimalizálta
Van esély erre a válaszra? Én is belefutok ebbe a forgatókönyvbe, amikor egy cella helyett egy egész tartomány jön szóba... Ugyanezt a kódolást használtam ugyanazzal az eredménnyel.
A weboldal moderátora ezt a megjegyzést minimalizálta
A következőképpen készítettem el 2 feladatlapot:
Private Sub Worksheet_Change (ByVal Target mint Range)
Ha [C20] = "Igen" Akkor
Sheets("lap1").Visible = igaz
Más
Sheets("lap1").Látható = False
Ha véget
Ha [C22] = "Igen" Akkor
Sheets("lap2").Visible = igaz
Más
Sheets("lap2").Látható = False
Ha véget
End Sub
A weboldal moderátora ezt a megjegyzést minimalizálta
Nagyon hasznos!
A weboldal moderátora ezt a megjegyzést minimalizálta
Szeretném látni, hogy tud-e segíteni a problémámban. Lényegében pontosan ez a kód szerepel egy lapon, amit használok, de egy vagy funkcióval, így a válasz „igen” vagy „igaz” lehet. Az elrejtett/feloldott lap azonban néha ismeretlen okokból újra elrejti magát. Ha beírom, hogy igen, akkor megjelenik, de amikor később használni fogom, újra el van rejtve, bár a cella értéke továbbra is igen. Van ötleted, hogy ez miért történhet, és/vagy hogyan lehet javítani?
Hivatkozási kód:
Private Sub Worksheet_Change(ByVal Target As Range)'Elrejti/megjeleníti a kalibrációs oldalt
Ha [B18] = "Igen" Vagy Target.Value = "Igaz" Akkor
Sheets("XXX ellenőrzés").Visible = igaz
Más
Sheets("XXX ellenőrzés"). Látható = False
Ha véget

A weboldal moderátora ezt a megjegyzést minimalizálta
Szia. Van egy munkafüzetem, több elnevezett lappal, amelyek az elején található indexlaphoz vannak kapcsolva. A felhasználó kiválaszthatja a használni kívánt lapokat a lap neve melletti négyzet bejelölésével - üres, N/A vagy Igen (legördülő lista). Van-e mód ennek a kódnak a módosítására úgy, hogy a lap látható legyen, ha a jelölőnégyzet üres, vagy "Igen"-t tartalmaz, de nem látható, ha a jelölőnégyzetben "N/A" van.
Kipróbáltam, de nem tudok eleget a VBA-ról, hogy működjön. Kösz
A weboldal moderátora ezt a megjegyzést minimalizálta
Szeretnék elrejteni vagy megjeleníteni a lapokat egy cellaérték (Igen/Nem) alapján. Az értékek egy táblázatban (tblFileContents) és a D4:D25 oszlopban, a munkalap neve pedig az A4:A25-ben találhatók a lapon. . A tételek sorrendje módosítható. Van olyan példa, amely lehetővé tenné, hogy ezt megtegyem?
A weboldal moderátora ezt a megjegyzést minimalizálta
Nekem is ugyanez a problémám, és valaki más adott megoldást.
Hozzon létre egy táblázatot (táblaként formátumban) 2 oszlopból, nevezze el a bal oldali oszlopot Megjelenítendő/elrejteni kívánt lapok, a jobb oldali oszlopot Ön dönti el. Minden lapnevet írjon a bal oszlopba
Ezután válassza a Kód megtekintése lehetőséget ehhez a laphoz, és írja be a Dim Changed As Range, c As Range, rMTS As Range parancsot.
Dim i olyan hosszú
Dim bShowAll As Boolean

Set rMTS = Tartomány ("TblShowHide[Kijelölés megjelenítésre]")
Megváltozott halmaz = metszéspont (cél, rMTS)
Ha nem változott, akkor semmi
bShowAll = Len(rMTS.Cells(1).Érték) > 0
On Error Resume Next
Ha i = 2 - rMTS.Rows.Count
Lapok(Tartomány("TblShowHide[Megjelenítés/Elrejtés]").Cellák(i.Érték).Látható = IIf(bMegjelenít, igaz, Len(rMTS.Cells(i).Érték) > 0)
Következő i
Hiba történt GoTo 0
Ha véget
End Sub


A weboldal moderátora ezt a megjegyzést minimalizálta
Ki fogom próbálni. Nagyon szépen köszönjük!
A weboldal moderátora ezt a megjegyzést minimalizálta
Nem vagyok benne biztos, hogy min kell változtatnom, de nekem nem működött.
A weboldal moderátora ezt a megjegyzést minimalizálta
Hi Jean,
igen van egy példa, amit csatoltam ide. Nevezze át a fájlt example.xlsm-re (nincs tömörítve, de át kellett nevezni a feltöltéshez)
A menü fülön van egy táblázat a különböző lapnevekkel, tegyél x-et vagy bármilyen más karaktert a tabulátor megjelenítéséhez, ha eltávolítod a karaktert, a fül elrejti.
Remélem segít
A weboldal moderátora ezt a megjegyzést minimalizálta
Ez több elemet tartalmaz, de nincs Excel fájl.
A weboldal moderátora ezt a megjegyzést minimalizálta
Azt akarom, hogy egy menü/tartalomjegyzék legyen az első munkalapom, és az igen/nem válaszok alapján - bizonyos munkalapok megjelennek, azaz 1-nél több válik láthatóvá.
Küzdök, hogy több munkalap is megjelenjen a fenti kód alapján.
Használhatok ÉS függvényt pl. Ha X cella = "Igen" akkor Y lap legyen látható, Z lap és K lap?
Minden tanácsot nagyon szívesen fogadok.
Üdvözlettel
Helen
A weboldal moderátora ezt a megjegyzést minimalizálta
А я вот не могу понять, как такое сделать в гугл таблицах именно?
A weboldal moderátora ezt a megjegyzést minimalizálta
Helló barát,

Megnyithat egy új Google-lapot, hozzáadhat egy új lapot, hogy legyen "1. lap" és "2. munkalap", majd lépjen az Eszközök > Szkriptszerkesztő menüpontra. A szerkesztőbe illessze be a következőket.

function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet1 = ss.getSheetByName("Lap1");
var sheet2 = ss.getSheetByName("Lap2");

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

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

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

Kérjük, próbálja meg.

Tisztelettel,
Mandy
A weboldal moderátora ezt a megjegyzést minimalizálta
Ez a kód remekül működik, azonban 42 változóm van 70 laphoz, így ez a kód nagyon hosszú lesz, és leáll. Van mód arra, hogy ezt a kódot szakaszokra bontsák, hogy ne haladják meg a VBA által kezelhető kódméretet? Vagy ezeket két külön excelre kell osztani?
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia Liz
Sajnáljuk, de jelenleg nincs jó módszer a probléma megoldására.
A weboldal moderátora ezt a megjegyzést minimalizálta
Van egy olyan értékem a B1 cellában, hogy ha igen, akkor az 1. lap elrejtése, de a B2-ben is, ha igen, akkor a 2. munkalap stb. stb. elrejtése az utolsó lapot, de a többit nem. 10 különböző lap? Kösz
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia Andy,
A probléma megoldásához használja az alábbi kódot:
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

Megjegyzések: A fenti kódban csak többször kell másolnia az alábbi szkripteket, és módosítania kell a cellahivatkozást és a lap nevét a sajátjára.
If [B2] = "Yes" Then
Sheets("Sheet1").Visible = True
Else
Sheets("Sheet1").Visible = False
End If


Kérem, próbálja ki, remélem tud segíteni!
A weboldal moderátora ezt a megjegyzést minimalizálta
Olyan problémám adódott, hogy szeretném, ha a lapot egy IGEN vagy NEM helyett egy értéktartományhoz kellene megjeleníteni. Amikor megpróbálom megismételni az IF utasítást a subban, hibát ad, és amikor megpróbálok több értéket felsorolni az if utasításban, hibát kapok. Bármilyen ötletet?

Szinte úgy tűnik, hogy IF/OR utasítást kell használnom, de nem vagyok benne biztos, hogy ez hogyan működne.

Private Sub Worksheet_Change (ByVal Target mint Range)
Ha [K6] = "VS 1", "VS 2", "VS 3", VS 4" Akkor
Sheets("6. oldal"). Látható = igaz
Más
Sheets("6. oldal"). Látható = False
Ha véget
End Sub
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia Margaret!
Probléma megoldásához használja az alábbi kódot, és használja az Or gombot a feltételekhez való csatlakozáshoz.
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

Kérem, próbálja ki, remélem tud segíteni!
A weboldal moderátora ezt a megjegyzést minimalizálta
Skyyang – ez tökéletesen működött. Köszönjük a gyors választ!
A weboldal moderátora ezt a megjegyzést minimalizálta
Próbálom ezt használni, de megjelenik a "fordítási hiba - nem található projekt vagy könyvtár" üzenettel, és kiemeli azt a cellát, ahol az Igen/Nem legördülő menü található. Azt hiszem, ez annak köszönhető, hogy ez egy egyesített cella, van-e mód ennek elkerülésére?
Még senki sem írt megjegyzést
Hagyja meg észrevételeit
Feladás vendégként
×
Értékeld ezt a bejegyzést:
0   Karakterek
Javasolt helyek

Kövess minket

Copyright © 2009 - www.extendoffice.com. | Minden jog fenntartva. Powered by ExtendOffice. | Oldaltérkép
A Microsoft és az Office logó a Microsoft Corporation védjegyei vagy bejegyzett védjegyei az Egyesült Államokban és / vagy más országokban.
Sectigo SSL védi