Gereksiz satırları ve sütunları gizleme/gösterme

Sorunun formülasyonu

Diyelim ki her gün “dans etmemiz” gereken bir masamız var:

 

Masanın küçük göründüğü kişiler için, bunu zihinsel olarak alanla yirmi kez çarpın, birkaç blok daha ve iki düzine büyük şehir ekleyin. 

Görev, şu anda iş için gereksiz olan satırları ve sütunları ekrandan geçici olarak kaldırmaktır. 

  • ayrıntıları aya göre gizle, yalnızca çeyrekler bırak
  • toplamları aylara ve çeyreklere göre gizleyin, yalnızca toplamı yarım yıllığına bırakın
  • şu anda gereksiz olan şehirleri gizleyin (Moskova'da çalışıyorum - neden St. Petersburg'u göreyim?), vb.

Gerçek hayatta, bu tür tabloların bir deniz örneği vardır.

Yöntem 1: Satırları ve sütunları gizleme

Yöntem, açıkçası, ilkel ve çok uygun değil, ancak bunun hakkında iki kelime söylenebilir. Bir sayfada önceden seçilmiş herhangi bir satır veya sütun, sütun veya satır başlığına sağ tıklanarak ve içerik menüsünden komut seçilerek gizlenebilir. gizlemek (Saklamak):

 

Ters görüntüleme için bitişik satırları / sütunları seçin ve sağ tıklayarak sırasıyla menüden seçin, ekran (Göster).

Sorun şu ki, her sütun ve satırla ayrı ayrı ilgilenmeniz gerekiyor, bu da uygunsuz.

Yöntem 2. Gruplandırma

Birden çok satır veya sütun seçerseniz ve ardından menüden seçim yaparsanız Veri – Grup ve Yapı – Grup (Veri — Grup ve Anahat — Grup), daha sonra köşeli parantez (gruplandırılmış) içine alınırlar. Ayrıca, gruplar iç içe yerleştirilebilir (8 adede kadar iç içe yerleştirme düzeyine izin verilir):

Daha kullanışlı ve hızlı bir yol, önceden seçilmiş satırları veya sütunları gruplamak için bir klavye kısayolu kullanmaktır. Alt+Shift+Sağ Ok, ve grubu çözmek için Alt+Shift+Sol Ok, Sırasıyla.

Gereksiz verileri gizlemenin bu yöntemi çok daha kullanışlıdır - “ ile düğmeyi tıklayabilirsiniz.+"Ya da"-" veya sayfanın sol üst köşesinde sayısal gruplama düzeyine sahip düğmelerde - daha sonra istenen düzeydeki tüm gruplar bir kerede daraltılacak veya genişletilecektir.

Ayrıca, tablonuz komşu hücreleri toplama işlevine sahip özet satırlar veya sütunlar içeriyorsa, yani, Excel'in bir şans (% 100 doğru değil) gerekli tüm grupları oluşturacak masada tek hareketle – menü aracılığıyla Veri – Grup ve Yapı – Yapı Oluştur (Veri — Grup ve Anahat — Anahat Oluştur). Ne yazık ki, böyle bir işlev çok öngörülemez bir şekilde çalışır ve bazen karmaşık tablolarda tamamen anlamsızdır. Ama deneyebilirsin.

Excel 2007 ve daha yeni sürümlerde, tüm bu sevinçler sekmede Veri (Tarih) grup içinde   Structure (Anahat):

Yöntem 3. İşaretli satırları/sütunları bir makro ile gizleme

Bu yöntem belki de en çok yönlü olanıdır. Sayfamızın başına boş bir satır ve boş bir sütun ekleyelim ve gizlemek istediğimiz satırları ve sütunları herhangi bir simgeyle işaretleyelim:

Şimdi Visual Basic Düzenleyicisini açalım (ALT + F11), kitabımıza yeni bir boş modül ekleyin (menü Ekle – Modül) ve iki basit makronun metnini buraya kopyalayın:

Sub Hide() Hücreyi Aralık Olarak Dim Application.ScreenUpdating = False 'ActiveSheet.UsedRange.Rows(1).Cells'deki Her hücre için hızlandırmak için ekran güncellemesini devre dışı bırak 'İlk satırdaki tüm hücreler üzerinde yineleme If cell.Value = "x " Sonra hücre .EntireColumn.Hidden = True 'eğer x hücresindeyse - Sonraki sütunu gizle ActiveSheet.UsedRange.Columns(1).Cells'deki Her hücre için İlk sütundaki tüm hücrelerden geçer If cell.Value = "x" Sonra cell.EntireRow.Hidden = True 'eğer x hücresindeyse - satırı gizle Sonraki Application.ScreenUpdating = True End Sub Sub Show() Columns.Hidden = False 'tüm satırları ve sütunları gizlemeyi iptal et Rows.Hidden = False End Sub  

Tahmin edebileceğiniz gibi, makro gizlemek gizler ve makro şov – Geri etiketli satırları ve sütunları görüntüler. İstenirse, makrolara kısayol tuşları atanabilir (Alt + F8 ve düğme parametreler) veya bunları sekmeden başlatmak için doğrudan sayfada düğmeler oluşturun Geliştirici – Ekle – Düğme (Geliştirici — Ekle — Düğme).

Yöntem 4. Belirli bir renkle satırları/sütunları gizleme

Diyelim ki yukarıdaki örnekte biz tam tersine toplamları yani mor ve siyah satırları ve sarı ve yeşil sütunları gizlemek istiyoruz. Daha sonra, önceki makromuz, “x”in varlığını kontrol etmek yerine, dolgu rengini rastgele seçilmiş örnek hücrelerle eşleştirmek için bir kontrol ekleyerek biraz değiştirilmelidir:

Sub HideByColor() Dim cell As Range Application.ScreenUpdating = ActiveSheet.UsedRange.Rows(2).Cells If cell.Interior.Color = Range("F2").Interior.Color Sonra cell.EntireColumn.Hidden içindeki Her hücre için False = True If cell.Interior.Color = Range("K2").Interior.Color Sonra cell.EntireColumn.Hidden = ActiveSheet.UsedRange.Columns(2).Cells If cell.Interior.Color = Aralık içindeki Her hücre için Sonraki True ("D6").Interior.Color Sonra cell.EntireRow.Hidden = True If cell.Interior.Color = Aralık("B11").Interior.Color Sonra cell.EntireRow.Hidden = True Next Application.ScreenUpdating = True End Sub  

Ancak bir uyarıyı unutmamalıyız: Bu makro yalnızca kaynak tablonun hücreleri elle renkle doldurulduğunda ve koşullu biçimlendirme kullanılmadığında çalışır (bu, Interior.Color özelliğinin bir sınırlamasıdır). Örneğin, koşullu biçimlendirme kullanarak sayının 10'dan küçük olduğu tablonuzdaki tüm anlaşmaları otomatik olarak vurguladıysanız:

Gereksiz satırları ve sütunları gizleme/gösterme

… ve onları tek bir hareketle gizlemek istiyorsanız, önceki makronun “tamamlanması” gerekecektir. Excel 2010-2013'e sahipseniz, mülk yerine kullanarak çıkabilirsiniz. özellik DisplayFormat.İç, nasıl ayarlandığından bağımsız olarak hücrenin rengini verir. Mavi çizgileri gizleyen makro şöyle görünebilir:

Sub HideByConditionalFormattingColor() Dim cell As Range Application.ScreenUpdating = ActiveSheet.UsedRange.Columns(1).Cells If cell.DisplayFormat.Interior.Color = Range("G2").DisplayFormat.Interior.Color içindeki her hücre için False .EntireRow.Hidden = True Next Application.ScreenUpdating = True End Sub  

Renk karşılaştırması için hücre G2 örnek olarak alınır. Ne yazık ki mülk Oynatma formatı Excel'de yalnızca 2010 sürümünden başlayarak göründü, bu nedenle Excel 2007 veya daha eski sürümlere sahipseniz, başka yollar bulmanız gerekecek.

  • Makro nedir, makro kodu nereye eklenir, nasıl kullanılır
  • Çok düzeyli listelerde otomatik gruplama

 

Yorum bırak