KutoolsforOffice — Tek çözüm, beş güçlü araç.Daha az çabayla daha fazlasını başarmak.

Excel'de kullanıcı girdisine göre sütunları gerçek zamanlı olarak nasıl gizleyebilirim?

YazarXiaoyang Değiştirme Tarihi

Excel’de sütunları gizlemek yaygın bir işlemdir, ancak belirli girişlere göre sütunları otomatik olarak gizlemeyi hiç denediniz mi? Örneğin, bir hücreye “AA” yazıldığında A sütunu, “BB” yazıldığında B ve C sütunları, “CC” yazıldığında D ve E sütunları, “DD” yazıldığında ise F sütunu gizlensin — aşağıdaki demo örnekte gösterildiği gibi. Bu makalede, Excel’de bu işlevselliği sağlamak için kullanabileceğiniz bir VBA kodu paylaşılacaktır.

Kullanıcı girdisine göre sütunları gerçek zamanlı olarak gizlemek veya görünür yapmak için VBA kodunu kullanın

Kullanıcı girdisine göre belirli sütunları gizlemek veya görünür yapmak için VBA kodunu kullanın


Kullanıcı girdisine göre sütunları gerçek zamanlı olarak gizlemek veya görünür yapmak için VBA kodunu kullanın

Sütunu belirtin'yi giriş değerlerine göre gerçek zamanlı olarak gizlemek için aşağıdaki VBA kodunu uygulayın:

1. Sütunları gizlemek istediğiniz çalışma sayfasında, sayfa sekmesine sağ tıklayıp bağlam menüsünden “Kodu Görüntüle” seçeneğine tıklayın; ekran görüntüsüne göz atın.

Sayfa sekmesine sağ tıklayarak Excel'de Visual Basic for Applications penceresinin nasıl açılacağını gösteren bir ekran görüntüsü

2. Açılan "Microsoft Visual Basic for Applications" penceresinde, aşağıdaki VBA kodunu "Sayfa (Kod)" bölümüne kopyalayıp yapıştırın.

VBA kodu: Kullanıcı girdisine göre sütunları gerçek zamanlı olarak gizleme

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Updateby ExtendOffice
xcell = Range("K1").Value
Select Case xcell
Case "AA": Columns("A").EntireColumn.Hidden = False
Columns("A").EntireColumn.Hidden = True
Case "BB": Columns("B:C").EntireColumn.Hidden = False
Columns("B:C").EntireColumn.Hidden = True
Case "CC": Columns("D:E").EntireColumn.Hidden = False
Columns("D:E").EntireColumn.Hidden = True
Case "DD": Columns("F").EntireColumn.Hidden = False
Columns("F").EntireColumn.Hidden = True
Case Else
Columns("A:G").EntireColumn.Hidden = False
End Select
End Sub
Not: Yukarıdaki kodda "K1", belirli metni girdiğiniz hücredir. Metni ve sütun adlarını ihtiyaçlarınıza göre ayarlamalısınız. Ayrıca, aşağıdaki betikleri ekleyerek yeni kriterler de ekleyebilirsiniz:
  • Durum "AA": Columns("A").EntireColumn.Hidden = False
  • Columns("A").EntireColumn.Hidden = True

Kullanıcı girişine göre sütunları gizlemek için yapıştırılmış kodla Excel'deki VBA kod penceresinin ekran görüntüsü

3. Ardından kod penceresini kapatın. Artık K1 hücresine “AA” yazıp Enter tuşuna bastığınızda A sütunu gizlenecek; “BB” yazıp Enter’a bastığınızda ise B ve C sütunları gizlenecek — bu mantık böyle devam edecek. Başka bir değer girerseniz ya da içeriği silerseniz, gizlenmiş sütunlar anında tekrar görünecektir. Aşağıdaki demo’yu inceleyin:


Kullanıcı girdisine göre belirli sütunları gizlemek veya görünür yapmak için VBA kodunu kullanın

Bu örnekte, girdiğiniz ürün adına göre bir Veri Aralığı filtrelemesi yapılacak. “Hoodie” yazdığınızda yalnızca Hoodie bilgileri görüntülenecek ve diğer sütunlar anında gizlenecek; “All” yazdığınızda ise tüm sütunlar aşağıda gösterildiği gibi görünür hale gelecektir:

1. Sütunları gizlemek istediğiniz çalışma sayfasında, sayfa sekmesine sağ tıklayıp bağlam menüsünden **"Kodu Görüntüle"** seçeneğine tıklayın; ekran görüntüsüne bakın:

Sayfa sekmesine sağ tıklayarak Excel'de Visual Basic for Applications penceresinin nasıl açılacağını gösteren bir ekran görüntüsü

2. Açılan "Microsoft Visual Basic for Applications" penceresinde, aşağıdaki VBA kodunu "Sayfa (Kod)" bölümüne kopyalayıp yapıştırın.

VBA kodu: Kullanıcı girdisine göre verileri filtrelemek için sütunları gizleme veya görünür yapma

Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby ExtendOffice
    Dim x As Variant, y As String
     If Target.Address = "$K$1" Then
        y = Target.Value
        With Range("B1:H1")
            Application.ScreenUpdating = False
            .EntireColumn.Hidden = (y <> "All")
            If y <> "All" Then
                For Each x In .Cells
                    If x = y Then x.EntireColumn.Hidden = False
                Next
            End If
            Application.ScreenUpdating = True
        End With
    End If
End Sub
Not: Yukarıdaki kodda "K1", belirli metni girdiğiniz hücre; "B1:H1" ise filtrelemek istediğiniz ürün adlarını içeren satır başlıklarıdır.

3. Ardından kod penceresini kapatın. Artık K1 hücresine ürün adını girdiğinizde yalnızca ilgili sütunlar görüntülenecek, diğerleri gizlenecektir; “All” metnini girdiğinizde ise tüm sütunlar aşağıda gösterildiği gibi görünür hale gelecektir:

En İyi Office Üretkenlik Araçları

🤖KUTOOLS AI Yardımcısı: Şunu temel alarak Veri Analizi’i devrimleştirin:Akıllı Yürütme   |  Kod Oluştur|  özel formüller Oluştur  |  Verileri Analiz Et ve Grafikler Oluştur|  Geliştirilmiş İşlevler Çağır…
Popüler Özellikler:Bul, Vurgula veya Yinelenenleri İşaretle   |  Boş Satırları Sil   |  Veri Kaybetmeden Sütunları Birleştir veya Hücreleri   |   Formül kullanmadan yuvarlama…
Süper ARA:Çoklu Kriterli Düşey Arama (VLookup)  |  Çoklu Değerli Düşey Arama (VLookup)  |   Birden Fazla Sayfada Düşey Arama (VLookup)   |   Bulanık Eşleme…
Gelişmiş Açılır Liste:Hızlıca Açılır Liste Oluştur   |  Bağımlı Açılır Liste   |  Çoklu Seçimli Açılır Liste…
Sütun Yöneticisi:Belirli Sayıda Sütun Ekle|Sütunları Taşı|Gizli Sütunların Görünürlük Durumunu Aç/Kapat|Aralıkları ve Sütunları Karşılaştır…
Öne Çıkan Özellikler:Izgara Odaklama   |  Tasarım Görünümü   |Gelişmiş formül çubuğu   | Çalışma Kitabı ve Sayfa Yöneticisi   |  Kaynaklar(Otomatik Metin)|  Tarih Seçici   |  Çalışma Sayfalarını Birleştir  |  Şifrele/Hücreleri Şifre Çöz   | Listeye Göre E-posta Gönder   |  Süper Filtre   |   Özel Filtre(Kalın Yazılı Hücreleri Filtrele/italik/üstü çizili…) …
En İyi 15 Araç Setleri:12 MetinAraçları(Metin Ekle,Belirli Karakterleri Sil, …)|   50+GrafikTürleri(Gantt Grafiği, …)|   40+ Pratik Formüller(Doğum tarihine dayanarak yaş hesapla, …)|   19 EklemeAraçları(QR Kodu Ekle,Yoldan Resim Ekle, …)|   12 DönüştürmeAraçları(Kelimeye Dönüştür,Döviz Kuru Dönüşümü, …)|   7 Birleştir ve AyırAraçları(Gelişmiş Satırları Birleştir,Hücreleri Böl, …)|… ve daha fazlası
Kutools'u tercih ettiğiniz dilde kullanın – İngilizce, İspanyolca, Almanca, Fransızca, Çince ve 40+ diğer dilleri destekler!

Kutools for Excel ile Excel becerilerinizi üst seviyeye taşıyın ve hiç yaşamadığınız bir verimlilik deneyimi yaşayın.Kutools for Excel, üretkenliği artırmak ve Zamanı Kaydet için 300’den fazla gelişmiş özelliğe sahiptir.İhtiyacınız olan özelliği hemen edinmek için buraya tıklayın…


Office Tab, Office uygulamalarına sekmeli arayüz getirir ve işlerinizi çok daha kolay hale getirir

  • Word, Excel, PowerPoint, Publisher, Access, Visio ve Project'te sekmeli düzenleme ve okuma özelliğini etkinleştirin.
  • Birden fazla belgeyi yeni pencerelerde değil, aynı pencerenin yeni sekmelerinde açın ve oluşturun.
  • Günlük üretkenliğinizi %50 artırır ve size her gün yüzlerce fare tıklamasından tasarruf sağlar!

Tüm Kutools eklentileri — tek bir yükleyiciyle!

Kutools for Office paketi, Excel, Word, Outlook ve PowerPoint için eklentileri ve ayrıca Office Tab Pro’yu içerir; bu da Office uygulamalarında çalışan ekipler için idealdir.

ExcelWordOutlookTabsPowerPoint
  • Hepsi bir arada paket— Excel, Word, Outlook ve PowerPoint eklentileri + Office Tab Pro
  • Tek yükleyici, tek lisans— dakikalar içinde kurulum (MSI uyumlu)
  • Birlikte daha iyi çalışır— Office uygulamalarında akıcı üretkenlik
  • 30 günlük tam özellikli deneme— kayıt gerekmez, kredi kartı gerekmez
  • En iyi fiyat performans— tek tek eklenti satın alımına göre tasarruf edin