Maklumat berguna dalam bar status

Seseorang suka, tetapi saya secara peribadi memerlukan bar status hanya dalam 2-3 kes:

  • selepas penapisan, ia memaparkan bilangan nilai yang tinggal selepas pemilihan
  • apabila julat dipilih, ia memaparkan jumlah, purata dan bilangan sel yang dipilih
  • dalam kes fail berat, anda boleh melihat kemajuan dalam pengiraan semula formula dalam buku.

Tidak begitu banyak untuk garisan yang mengambil hampir keseluruhan lebar skrin dan bergantung padanya sepanjang masa. Mari cuba kembangkan senarai sederhana ini dan tambahkan beberapa lagi ciri berguna padanya 🙂

Prinsip umum untuk mengurus bar status

Menguruskan bar status dengan Visual Basic adalah sangat mudah. Untuk memaparkan teks anda di dalamnya, anda boleh menggunakan makro mudah:

Sub MyStatus() Application.StatusBar = "Привет!" Tamat Sub  

Selepas menjalankannya, kami mendapat:

Maklumat berguna dalam bar status

Untuk memulihkan keadaan asal bar status, anda memerlukan "anti-makro" pendek yang sama:

Sub MyStatus_Off() Application.StatusBar = False End Sub  

Dalam versi asas, seperti yang anda lihat, semuanya sangat mudah. Sekarang mari kita cuba mengembangkan idea…

Alamat julat yang dipilih dalam bar status

 Di penjuru kiri sebelah atas tetingkap Excel dalam bar formula, anda sentiasa boleh melihat alamat sel semasa. Tetapi jika keseluruhan julat dipilih, maka, malangnya, kami tidak akan melihat alamat pemilihan di sana - satu sel aktif yang sama dipaparkan:

Maklumat berguna dalam bar status

Untuk menyelesaikan masalah ini, anda boleh menggunakan makro mudah yang akan memaparkan alamat kawasan yang dipilih dalam bar status. Selain itu, makro ini harus dilancarkan secara automatik, dengan sebarang perubahan dalam pemilihan pada mana-mana helaian – untuk ini kami akan meletakkannya dalam pengendali acara Perubahan Pilihan buku kami.

Buka Editor Visual Basic menggunakan butang dengan nama yang sama pada tab pemaju (Pembangun) atau pintasan papan kekunci Kiri Alt+F11. Cari buku anda di penjuru kiri sebelah atas panel Projek dan buka modul di dalamnya dengan mengklik dua kali Buku ini (Buku Kerja ini):

Dalam tetingkap yang terbuka, salin dan tampal kod makro berikut:

Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Sasaran Sebagai Julat) Application.StatusBar = "Выделено: " & Selection.Address(0, 0) End Sub  

Sekarang, apabila mana-mana julat dipilih (termasuk lebih daripada satu!), alamatnya akan dipaparkan dalam bar status:

Maklumat berguna dalam bar status

Untuk menghalang alamat beberapa julat yang dipilih dengan Ctrl daripada bergabung, anda boleh menambah sedikit peningkatan – gunakan fungsi Ganti untuk menggantikan koma dengan koma dengan ruang:

Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Sasaran Sebagai Julat) Application.StatusBar = "Выделено: " & Ganti(Selection.Address(0, 0), ",", ", ") End Sub  

Bilangan sel yang dipilih dalam bar status

Apabila mana-mana julat dipilih, bilangan sel terpilih yang tidak kosong dipaparkan di sebelah kanan bar status secara lalai. Kadangkala anda perlu mengetahui bilangan yang diperuntukkan. Tugasan ini juga boleh dicapai dengan makro mudah untuk mengendalikan acara buku SelectionChange, seperti dalam contoh sebelumnya. Anda memerlukan makro seperti:

Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Sasaran Sebagai Julat) Malapkan Kiraan Sel Sebagai Varian, rng Sebagai Julat Untuk Setiap rng Dalam Pilihan. Bidang 'Lelar melalui semua pilihan RowsCount = rng.Rows.Count 'bilangan baris ColumnsCount = rng.Columns . Kira 'bilangan lajur CellCount = CellCount + RowsCount * ColumnsCount 'kumpul jumlah bilangan sel Seterusnya 'paparan dalam bar status Application.StatusBar = "Dipilih: " & CellCount & " sel" End Sub  

Gelung makro ini melalui semua kawasan yang dipilih Ctrl (jika terdapat lebih daripada satu), menyimpan bilangan baris dan lajur dalam setiap kawasan dalam pembolehubah RowsCount dan ColumnsCount dan mengumpul bilangan sel dalam pembolehubah CellCount, yang kemudiannya dipaparkan dalam bar status. Di tempat kerja ia akan kelihatan seperti ini:

Maklumat berguna dalam bar status

Sudah tentu, anda boleh menggabungkan ini dan makro sebelumnya untuk memaparkan kedua-dua alamat julat yang dipilih dan bilangan sel pada masa yang sama. Anda hanya perlu menukar satu baris terakhir kepada:

Application.StatusBar = "Dipilih: " & Ganti(Selection.Address(0, 0), ",", ", ") & " - jumlah " & CellCount & " sel"  

Kemudian gambar itu akan menjadi sangat indah:

Maklumat berguna dalam bar status

Nah, saya fikir anda mendapat idea itu. Cadangkan dalam ulasan - apakah lagi yang berguna untuk dipaparkan dalam bar status?

  • Apakah itu makro, cara ia berfungsi, cara menggunakan dan menciptanya
  • Pemilihan koordinat yang mudah pada helaian Excel
  • Bagaimana untuk menjadikan formula kompleks lebih visual

Sila tinggalkan balasan anda