Menyembunyikan/menunjukkan baris dan lajur yang tidak diperlukan

Perumusan masalah

Katakan kita mempunyai meja sedemikian yang kita perlu "menari" setiap hari:

 

To whom the table seems small – mentally multiply it twenty times by area, adding a couple more blocks and two dozen large cities. 

Tugasnya adalah untuk mengalih keluar baris dan lajur skrin buat sementara waktu yang tidak diperlukan untuk kerja, iaitu, 

  • sembunyikan butiran mengikut bulan, hanya tinggalkan suku
  • sembunyikan jumlah mengikut bulan dan suku, hanya tinggalkan jumlah selama setengah tahun
  • sembunyikan bandar-bandar yang tidak perlu pada masa ini (saya bekerja di Moscow - mengapa saya harus melihat St. Petersburg?), dsb.

Dalam kehidupan sebenar, terdapat banyak contoh jadual sedemikian.

Kaedah 1: Menyembunyikan baris dan lajur

Kaedahnya, terus terang, adalah primitif dan tidak begitu mudah, tetapi dua perkataan boleh dikatakan mengenainya. Mana-mana baris atau lajur yang dipilih sebelum ini pada helaian boleh disembunyikan dengan mengklik kanan lajur atau pengepala baris dan memilih arahan daripada menu konteks Menyembunyikan (Sembunyi):

 

Untuk paparan terbalik, pilih baris / lajur bersebelahan dan, dengan mengklik kanan, pilih daripada menu, masing-masing, memaparkan (Nyahsembunyikan).

Masalahnya ialah anda perlu berurusan dengan setiap lajur dan baris secara individu, yang menyusahkan.

Kaedah 2. Pengelompokan

Jika anda memilih berbilang baris atau lajur dan kemudian pilih daripada menu Data – Kumpulan dan Struktur – Kumpulan (Data — Kumpulan dan Rangka — Kumpulan), maka ia akan disertakan dalam kurungan segi empat sama (berkelompok). Selain itu, kumpulan boleh disarangkan antara satu sama lain (sehingga 8 tahap sarang dibenarkan):

Cara yang lebih mudah dan pantas ialah menggunakan pintasan papan kekunci untuk mengumpulkan baris atau lajur yang telah dipilih sebelumnya. Alt+Shift+Anak Panah Kanan, dan untuk menyahkumpulan Alt+Shift+Anak Panah Kiri, Masing-masing.

Kaedah menyembunyikan data yang tidak diperlukan ini adalah lebih mudah – anda boleh klik pada butang dengan “+"Atau"-“, atau pada butang dengan aras kumpulan berangka di penjuru kiri sebelah atas helaian – kemudian semua kumpulan aras yang dikehendaki akan diruntuhkan atau dikembangkan serentak.

Jadi, jika jadual anda mengandungi baris atau lajur ringkasan dengan fungsi menjumlahkan sel jiran, iaitu peluang (tidak 100% benar) Excel itu dia akan mewujudkan semua kumpulan yang diperlukan dalam jadual dengan satu pergerakan – melalui menu Data – Kumpulan dan Struktur – Cipta Struktur (Data — Kumpulan dan Rangka — Buat Rangka). Malangnya, fungsi sedemikian berfungsi dengan sangat tidak dapat diramalkan dan kadangkala melakukan karut lengkap pada jadual yang kompleks. Tetapi anda boleh mencuba.

Dalam Excel 2007 dan lebih baharu, semua kegembiraan ini terdapat pada tab Tarikh (Tarikh) dalam kumpulan   struktur (Garis besar):

Kaedah 3. Menyembunyikan baris/lajur bertanda dengan makro

Kaedah ini mungkin yang paling serba boleh. Mari tambahkan baris kosong dan lajur kosong pada permulaan helaian kami dan tandai dengan mana-mana ikon baris dan lajur yang ingin kami sembunyikan:

Sekarang mari buka Editor Visual Basic (ALT + F11), masukkan modul kosong baharu ke dalam buku kami (menu Sisipan – Modul) dan salin teks dua makro mudah di sana:

Sub Hide() Malapkan sel Sebagai Aplikasi Julat.ScreenUpdating = Palsu 'Lumpuhkan pengemaskinian skrin untuk mempercepatkan Untuk Setiap sel Dalam ActiveSheet.UsedRange.Rows(1).Cells 'Lelaran ke atas semua sel dalam baris pertama Jika cell.Value = "x " Kemudian sel .EntireColumn.Hidden = Benar 'jika dalam sel x - sembunyikan lajur Seterusnya Untuk Setiap sel Dalam ActiveSheet.UsedRange.Columns(1).Cells 'melalui semua sel lajur pertama Jika cell.Value = "x" Kemudian cell.EntireRow.Hidden = Benar 'jika dalam sel x - sembunyikan baris Aplikasi Seterusnya.ScreenUpdating = True End Sub Sub Show() Columns.Hidden = Palsu 'batalkan semua menyembunyikan baris dan lajur Rows.Hidden = False End Sub  

Seperti yang anda fikirkan, makro Menyembunyikan menyembunyikan dan makro Tunjuk – Memaparkan baris dan lajur berlabel belakang. Jika dikehendaki, makro boleh diberikan kekunci pintas (Alt + F8 dan butang Parameter), atau buat butang terus pada helaian untuk melancarkannya daripada tab Pembangun – Sisipkan – Butang (Pembangun — Sisipkan — Butang).

Kaedah 4. Menyembunyikan baris/lajur dengan warna yang diberikan

Katakan dalam contoh di atas, kita, sebaliknya, ingin menyembunyikan jumlah, iaitu baris ungu dan hitam serta lajur kuning dan hijau. Kemudian makro kami yang terdahulu perlu diubah suai sedikit dengan menambah, bukannya menyemak kehadiran "x", semakan untuk memadankan warna isian dengan sel sampel yang dipilih secara rawak:

Sub HideByColor() Malapkan sel Sebagai Aplikasi Julat.ScreenUpdating = Palsu Untuk Setiap sel Dalam ActiveSheet.UsedRange.Rows(2).Cells If cell.Interior.Color = Julat("F2").Interior.Color Then cell.EntireColumn.Hidden = Benar Jika sel.Dalam.Warna = Julat("K2") ("D2")  

Walau bagaimanapun, kita tidak boleh lupa tentang satu kaveat: makro ini hanya berfungsi jika sel jadual sumber diisi dengan warna secara manual dan tidak menggunakan pemformatan bersyarat (ini adalah pengehadan sifat Interior.Color). Jadi, sebagai contoh, jika anda secara automatik menyerlahkan semua tawaran dalam jadual anda yang bilangannya kurang daripada 10 menggunakan pemformatan bersyarat:

Menyembunyikan/menunjukkan baris dan lajur yang tidak diperlukan

… dan anda ingin menyembunyikannya dalam satu gerakan, maka makro sebelumnya perlu "selesai". Jika anda mempunyai Excel 2010-2013, maka anda boleh keluar menggunakan bukan harta itu dalaman harta DisplayFormat.Interior, yang mengeluarkan warna sel, tanpa mengira cara ia ditetapkan. Makro untuk menyembunyikan garis biru mungkin kelihatan seperti ini:

Sub HideByConditionalFormattingColor() Sel Malap Sebagai Aplikasi Julat.ScreenUpdating = Palsu Untuk Setiap sel Dalam ActiveSheet.UsedRange.Columns(1).Cells If cell.DisplayFormat.Interior.Color = Julat("G2").DisplayFormat.Interior.Color Kemudian sel .EntireRow.Hidden = True Next Application.ScreenUpdating = True End Sub  

Sel G2 diambil sebagai sampel untuk perbandingan warna. Malangnya harta itu PaparanFormat muncul dalam Excel hanya bermula dari versi 2010, jadi jika anda mempunyai Excel 2007 atau lebih lama, anda perlu mencari cara lain.

  • Apakah makro, di mana untuk memasukkan kod makro, cara menggunakannya
  • Pengumpulan automatik dalam senarai berbilang peringkat

 

Sila tinggalkan balasan anda