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

Başka bir sayfadaki hücre değerine göre belirli bir çalışma sayfasını nasıl gizleyebilir veya gösterebilirim?

Başka bir sayfadaki hücre içeriğine bağlı olarak belirli bir çalışma sayfası sekmesini gizlemek veya göstermek için herhangi bir yöntem var mı? Örneğin, Sayfa1'nin G2 hücresine "Evet" metnini girdiğimde, Sayfa1'in gizlenmesini ve "Hayır" girdiğimde Sayfa1'in bir kerede görüntülenmesini istiyorum. Bu sorunu Excel'de nasıl çözebilirim?

VBA kodu ile hücre değerine göre belirli bir çalışma sayfası sekmesini gizleyin veya gösterin


ok mavi sağ balon VBA kodu ile hücre değerine göre belirli bir çalışma sayfası sekmesini gizleyin veya gösterin

Başka bir çalışma sayfasındaki bir hücre değerine dayalı belirli bir çalışma sayfası sekmesini gizlemek veya göstermek için, aşağıdaki VBA kodu size bir iyilik yapabilir, lütfen aşağıdakileri yapın:

1. Başka bir sayfayı temel alarak gizlemek istediğiniz hücre değerini içeren çalışma sayfasına gidin.

2. Sayfa sekmesine sağ tıklayın ve Kodu Görüntüle, dışarı çıkmış Uygulamalar için Microsoft Visual Basic penceresi, lütfen aşağıdaki kodu boş Modül penceresine kopyalayıp yapıştırın, ekran görüntüsüne bakın:

VBA kodu: Hücre değerine göre bir çalışma sayfası sekmesini gizleyin veya gizleyin:

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

1. hücre değerine göre doc gizle sekmesi

Not: Yukarıdaki kodda, G1 ve Evet, temel almak istediğiniz hücre ve hücre içeriğidir ve Sheet1 gizlemek veya göstermek istediğiniz belirli sayfadır. Bunları ihtiyacınıza göre değiştirebilirsiniz.

3. Ardından, G1 hücresine "Hayır" veya başka bir metin girdiğinizde, Sayfa1 gizlenir, ancak hücreye "Evet" girerseniz, Sayfa1 aynı anda görüntülenir, ekran görüntülerine bakın:

2. hücre değerine göre doc gizle sekmesi
1
3. hücre değerine göre doc gizle sekmesi

 


En İyi Ofis Üretkenliği Araçları

Kutools for Excel Sorunlarınızın Çoğunu Çözer ve Verimliliğinizi% 80 Artırır

  • Yeniden: Hızlıca yerleştirin karmaşık formüller, grafikler ve daha önce kullandığınız her şey; Hücreleri Şifrele şifre ile; Posta Listesi Oluşturun ve e-posta gönder ...
  • Süper Formül Çubuğu (birden çok metin ve formül satırını kolayca düzenleyin); Okuma Düzeni (çok sayıda hücreyi kolayca okuyun ve düzenleyin); Filtrelenmiş Aralığa Yapıştır...
  • Hücreleri / Satırları / Sütunları Birleştirme Veri kaybetmeden; Bölünmüş Hücre İçeriği; Yinelenen Satırları / Sütunları Birleştirme... Yinelenen Hücreleri Önleyin; Aralıkları Karşılaştır...
  • Yinelenen veya Benzersiz'i seçin Satırlar; Boş Satırları Seçin (tüm hücreler boştur); Süper Bul ve Bulanık Bul Birçok Çalışma Kitabında; Rastgele Seçim ...
  • Tam kopya Formül referansını değiştirmeden Birden Çok Hücre; Otomatik Referans Oluştur Birden Çok Sayfaya; Madde İşaretleri Ekle, Onay Kutuları ve daha fazlası ...
  • Metni Çıkar, Metin Ekle, Konuma Göre Kaldır, Alanı Kaldır; Sayfalama Alt Toplamları Oluşturma ve Yazdırma; Hücre İçeriği ve Yorumları Arasında Dönüştür...
  • Süper Filtre (filtre şemalarını kaydedin ve diğer sayfalara uygulayın); Gelişmiş Sıralama ay / hafta / gün, sıklık ve daha fazlasına göre; Özel Filtre kalın, italik ...
  • Çalışma Kitaplarını ve Çalışma Sayfalarını Birleştirin; Tabloları anahtar sütunlara göre birleştirin; Verileri Birden Çok Sayfaya Bölme; Toplu dönüştürme xls, xlsx ve PDF...
  • 300'den fazla güçlü özellik. Office / Excel 2007-2021 ve 365'i destekler. Tüm dilleri destekler. Kuruluşunuzda veya kuruluşunuzda kolay devreye alma. Tam özellikler 30 günlük ücretsiz deneme. 60 günlük para iade garantisi.
kte sekmesi 201905

Office Tab, Office'e Sekmeli Arayüz Getirir ve İşinizi Çok Daha Kolay Hale Getirir

  • Word, Excel, PowerPoint'te sekmeli düzenlemeyi ve okumayı etkinleştirin, Publisher, Access, Visio ve Project.
  • Yeni pencereler yerine aynı pencerenin yeni sekmelerinde birden çok belge açın ve oluşturun.
  • Üretkenliğinizi% 50 artırır ve her gün sizin için yüzlerce fare tıklamasını azaltır!
ofis tabanı

 

Yorumları sıralama ölçütü
Yorumlar (23)
Henüz derecelendirme yok. İlk değerlendiren siz olun!
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba
Bahşiş için teşekkürler. Aynı senaryoyu sadece bir hücrede değil (bu durumda G1), G sütununun tüm hücrelerinde yapmam gerekiyor. "Range" ile denedim ama işe yaramadı.

Özel Alt Çalışma Alanı_Değiştir (ByVal Target As Range)
Eğer Aralık("X2:X100") = "" O zaman
Sheets("AB GÖREV TABANLI ÖLÇÜMLER").Görünür = Yanlış
başka
Sheets("AB GÖREV TABANLI ÖLÇÜMLER").Görünür = Doğru
Eğer son
End Sub


Şimdiden teşekkürler
Bu yorum sitedeki moderatör tarafından en aza indirildi
Bunun cevaplanma şansı var mı? Ben de bir hücre yerine bütün bir aralığın devreye girdiği bu senaryoyla karşılaşıyorum... Aynı kodlamayı aynı sonuçlarla kullandım.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Aşağıdaki gibi 2 çalışma sayfası yaptım:
Özel Alt Çalışma Alanı_Değiştir (ByVal Target As Range)
[C20] = "Evet" ise
Sayfalar("sayfa1").Görünür = Doğru
başka
Sayfalar("sayfa1").Görünür = Yanlış
Eğer son
[C22] = "Evet" ise
Sayfalar("sayfa2").Görünür = Doğru
başka
Sayfalar("sayfa2").Görünür = Yanlış
Eğer son
End Sub
Bu yorum sitedeki moderatör tarafından en aza indirildi
Çok yararlı!
Bu yorum sitedeki moderatör tarafından en aza indirildi
Sorunuma yardımcı olup olamayacağınızı görmek istiyorum. Aslında bu tam kodu kullandığım bir sayfada ancak bir veya işleviyle kullandım, böylece cevap "evet" veya "doğru" olabilir. Ancak, gizlenen/görünmeyen sayfa bazen bilinmeyen nedenlerle kendini yeniden gizler. Evet yazdığımda görünecek, ancak daha sonra kullanmaya başladığımda hücre değeri hala evet olmasına rağmen tekrar gizleniyor. Bunun neden olabileceği ve/veya nasıl düzeltileceği hakkında bir fikriniz var mı?
Referans kodu:
Private Sub Worksheet_Change(ByVal Target As Range)'Kalibrasyon sayfasını gizler/gösterir
[B18] = "Evet" Veya Target.Value = "Doğru" ise
Sayfalar("XXX Doğrulaması").Görünür = Doğru
başka
Sheets("XXX Verification").Visible = False
Eğer son

Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba, öndeki bir dizin sayfasına bağlı birden çok adlandırılmış sekme içeren bir çalışma kitabına sahibim. Kullanıcı, sayfa adının yanındaki kutuyu işaretleyerek kullanmak istediği sayfaları seçebilir - boş, Yok veya Evet (açılır liste). Bu kodu, onay kutusu boşsa veya "Evet" içeriyorsa sayfa görünür olacak, ancak onay kutusu "Yok" içeriyorsa görünmeyecek şekilde uyarlamanın bir yolu var mı?
Denedim ama çalışmasını sağlamak için VBA hakkında yeterince bilgim yok. teşekkürler
Bu yorum sitedeki moderatör tarafından en aza indirildi
Bir hücre değerine (Evet/Hayır) göre sayfaları gizlemek veya göstermek istiyorum. Değerler bir tabloda (tblFileContents) ve D4:D25 sütunundadır ve sayfa adı sayfadaki A4:A25'tedir . Öğelerin sırası değiştirilebilir. Bunu yapmama izin verecek bir örneğe referansınız var mı?
Bu yorum sitedeki moderatör tarafından en aza indirildi
Aynı sorunu yaşıyorum ve başka biri bir çözüm sağladı.
2 sütunlu bir tablo yapın (tablo olarak biçimlendirin), sol sütunu adlandırın Göster/gizlenecek sayfalar, sağ sütun size kalmış. Tüm sayfa adlarını sol sütuna koyun
Ardından bu sekme için Kodu Görüntüle'yi seçin ve Dim Changed As Range, c As Range, rMTS As Range girin.
Dim i As Long
Dim bShowAll As Boole

Set rMTS = Range("TblShowHide[Göstermek İçin İşaretle]")
Set Changed = Intersect(Hedef, rMTS)
Değişmediyse O Zaman Hiçbir Şey Değildir
bShowAll = Len(rMTS.Cells(1).Value) > 0
On Error Resume Next
i = 2 için rMTS.Rows.Count için
Sayfalar(Aralık("TblShowHide[Sayfaları Göster/Gizle]").Cells(i).Value).Visible = IIf(bShowAll, True, Len(rMTS.Cells(i).Value) > 0)
I Sonraki
Hata Dönüsünde 0
Eğer son
End Sub


Bu yorum sitedeki moderatör tarafından en aza indirildi
Bunu bir deneyeceğim. Çok teşekkürler!
Bu yorum sitedeki moderatör tarafından en aza indirildi
Neyi değiştirmem gerektiğinden emin değilim ama benim için işe yaramadı.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba Jean.
evet buraya eklediğim bir örnek var. Dosyayı example.xlsm olarak yeniden adlandırın (sıkıştırılmamış, ancak yüklemek için yeniden adlandırılması gerekiyordu)
Menü sekmesinde, çeşitli sekme adlarına sahip bir tablo vardır, sekmeyi göstermek için bir x veya başka bir karakter yapın, karakteri kaldırırsanız sekme gizlenir.
umarım yardımcı olur
Bu yorum sitedeki moderatör tarafından en aza indirildi
Bu, birkaç öğe içerir, ancak hiçbir excel dosyası içermez.
Bu yorum sitedeki moderatör tarafından en aza indirildi
İlk çalışma sayfam olarak ve Evet/Hayır yanıtlarına dayalı olarak bir Menü/İçindekiler Tablosuna sahip olmak istiyorum - belirli çalışma sayfaları görünüyor, yani 1'den fazlası görünür hale geliyor.
Yukarıdaki koda dayalı olarak birkaç çalışma sayfasının görünmesi için mücadele ediyorum.
Bir AND işlevi kullanabilir miyim, örneğin X hücresi = "Evet" ise, Y Sayfasını görünür ve Z Sayfasını ve K Sayfasını yap?
Herhangi bir tavsiye büyük ölçüde memnuniyetle karşılandı.
Saygılarımızla
Helen
Bu yorum sitedeki moderatör tarafından en aza indirildi
А я вот не могу понять, как такое сделать в гугл таблицах именно?
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba arkadaş,

Yeni bir Google sayfası açabilir, "Sayfa1" ve "Sayfa2" olacak şekilde yeni bir sayfa ekleyebilir, ardından Araçlar > Komut Dosyası Düzenleyici'ye gidebilirsiniz. Düzenleyicide aşağıdakini yapıştırın.

işlev myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sayfa1 = ss.getSheetByName("Sayfa1");
var sayfa2 = ss.getSheetByName("Sayfa2");

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

eğer (cell1.getValue() == 2) {
sayfa2.hideSheet();
}

eğer (cell1.getValue() == 3) {
sayfa2.showSheet();
}
}

Lütfen bir deneyin.

En içten dileklerimizle,
Mandy
Bu yorum sitedeki moderatör tarafından en aza indirildi
Bu kod harika çalışıyor, ancak 42 sayfa için 70 değişkenim var, bu yüzden bu kod çok uzuyor ve çalışmayı durduruyor. Bu kodu, VBA'nın işleyebileceği kod boyutunu aşmayacak şekilde bölümler halinde yapmanın bir yolu var mı? Yoksa bunları iki ayrı excel'e mi bölmem gerekiyor?
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba, Liz
Maalesef şu anda sorununuzu çözmenin iyi bir yolu yok.
Bu yorum sitedeki moderatör tarafından en aza indirildi
B1 Hücresinde bir değerim var, eğer evet, sayfa1'i gösteriyorsa, aynı zamanda B2'deki bir değer ise, eğer evet ise, Sayfa2'yi vb. 10 farklı yaprak? Teşekkürler
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba Andy,
Sorununuzu çözmek için lütfen aşağıdaki kodu uygulayın:
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

not: Yukarıdaki kodda, aşağıdaki komut dosyalarını birkaç kez kopyalamanız ve hücre referansını ve sayfa adını kendiniz değiştirmeniz yeterlidir.
If [B2] = "Yes" Then
Sheets("Sheet1").Visible = True
Else
Sheets("Sheet1").Visible = False
End If


Lütfen bir deneyin, umarım size yardımcı olabilir!
Bu yorum sitedeki moderatör tarafından en aza indirildi
Sekmenin yalnızca EVET veya HAYIR yerine bir dizi değeri göstermesini istediğim bir sorun yaşıyorum. Altta IF deyimini tekrarlamaya çalıştığımda hata veriyor ve if deyiminde birden fazla değer listelemeye çalıştığımda hata alıyorum. Herhangi bir fikir?

Neredeyse bir IF/OR deyimi kullanmam gerekiyor gibi görünüyor ama bunun nasıl çalışacağından emin değilim.

Özel Alt Çalışma Alanı_Değiştir (ByVal Target As Range)
[K6] = "VS 1", "VS 2", "VS 3", VS 4" ise
E-Tablolar("Sayfa6").Görünür = Doğru
başka
E-Tablolar("Sayfa6").Görünür = Yanlış
Eğer son
End Sub
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba, Margaret,
Sorununuzu çözmek için lütfen aşağıdaki kodu uygulayın, Veya kullanarak koşullara katılmalısınız.
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

Lütfen bir deneyin, umarım size yardımcı olabilir!
Bu yorum sitedeki moderatör tarafından en aza indirildi
Skyyang - bu mükemmel çalıştı. Hemen yanıtladığın için teşekkür ederim!
Bu yorum sitedeki moderatör tarafından en aza indirildi
Bunu kullanmaya çalışıyorum ama "derleme hatası - proje veya kitaplık bulunamıyor" hatası veriyor ve Evet/Hayır açılır listesinin bulunduğu hücreyi vurguluyor. Bunun birleştirilmiş bir hücre olmasından kaynaklanabileceğini düşünüyorum, bunun bir yolu var mı?
Buraya henüz hiç yorum yapılmamış
Lütfen yorum yazın
Misafir olarak yayınlama
×
Bu gönderiyi değerlendirin:
0   Karakterler
Önerilen Konumlar

Bizi takip et

Telif Hakkı © 2009 - www.extendoffice.com. | Tüm hakları Saklıdır. Tarafından desteklenmektedir ExtendOffice. | | | Site Haritası
Microsoft ve Office logosu, Microsoft Corporation'ın Amerika Birleşik Devletleri ve / veya diğer ülkelerdeki ticari markaları veya tescilli ticari markalarıdır.
Sectigo SSL ile korunmaktadır