Daftar Isi
Dalam tutorial ini, Anda akan mempelajari 3 cara berbeda untuk menyorot baris dan kolom sel yang dipilih secara dinamis di Excel.
Ketika melihat lembar kerja yang besar untuk waktu yang lama, kamu mungkin akan kehilangan jejak di mana kursormu berada dan data mana yang sedang kamu lihat. Untuk mengetahui dengan tepat di mana kamu berada setiap saat, minta Excel untuk secara otomatis menyorot baris dan kolom yang aktif untukmu! Tentu saja, penyorotan harus dinamis dan berubah setiap kali kamu memilih cell lain. Pada dasarnya, inilah yang ingin kita capai:
Sorot otomatis baris dan kolom sel yang dipilih dengan VBA
Contoh ini menunjukkan bagaimana Anda dapat menyorot kolom dan baris aktif secara terprogram dengan VBA. Untuk ini, kita akan menggunakan perintah PerubahanPemilihan peristiwa dari Lembar Kerja objek.
Pertama, Anda menghapus warna latar belakang semua sel pada sheet dengan menetapkan ColorIndex ke 0. Dan kemudian, Anda menyorot seluruh baris dan kolom sel aktif dengan mengatur properti ColorIndex ke nomor indeks untuk warna yang diinginkan.
Private Sub Worksheet_SelectionChange( ByVal Target As Range) If Target.Cells.Count> 1 Then Exit Sub Application.ScreenUpdating = False 'Menghapus warna semua sel Cells.Interior.ColorIndex = 0 With Target 'Menyorot baris dan kolom dari sel yang dipilih .EntireRow.Interior.ColorIndex = 38 .EntireColumn.Interior.ColorIndex = 24 End With Application.ScreenUpdating = True End SubMenyesuaikan kode
Jika Anda ingin menyesuaikan kode untuk kebutuhan Anda, kiat-kiat kecil ini mungkin berguna:
- Kode sampel kami menggunakan dua warna berbeda yang ditunjukkan pada gif di atas - indeks warna 38 untuk baris dan 24 untuk kolom. Untuk mengubah warna sorotan , ganti saja dengan kode ColorIndex yang Anda pilih.
- Untuk mendapatkan baris dan kolom yang diwarnai dalam cara yang sama , gunakan nomor indeks warna yang sama untuk keduanya.
- Untuk hanya menyoroti baris aktif , hapus atau beri komentar pada baris ini: .EntireColumn.Interior.ColorIndex = 24
- Untuk hanya menyoroti kolom aktif , hapus atau beri komentar pada baris ini: .EntireRow.Interior.ColorIndex = 38
Cara menambahkan kode ke lembar kerja Anda
Agar kode dieksekusi secara diam-diam di latar belakang lembar kerja tertentu, Anda perlu memasukkannya ke dalam jendela kode milik lembar kerja itu, bukan di modul normal. Untuk menyelesaikannya, lakukan langkah-langkah ini:
- Di buku kerja Anda, tekan Alt + F11 untuk membuka editor VBA.
- Di Project Explorer di sebelah kiri, Anda akan melihat daftar semua buku kerja yang terbuka dan lembar kerjanya. Jika Anda tidak melihatnya, gunakan pintasan Ctrl + R untuk menampilkan jendela Project Explorer.
- Temukan buku kerja target. Objek Microsoft Excel klik dua kali pada sheet yang ingin Anda terapkan penyorotan. Dalam contoh ini, itu adalah Lembar 1 .
- Di jendela Code di sebelah kanan, tempelkan kode di atas.
- Simpan file Anda sebagai Buku Kerja yang Diaktifkan Makro (.xlsm).
Keuntungan : semuanya dilakukan di backend; tidak ada penyesuaian / kustomisasi yang diperlukan di sisi pengguna; bekerja di semua versi Excel.
Kekurangan Ada dua kelemahan penting yang membuat teknik ini tidak bisa diterapkan dalam keadaan tertentu:
- Kode membersihkan warna latar belakang Jika Anda memiliki sel berwarna, jangan gunakan solusi ini karena pemformatan kustom Anda akan hilang.
- Menjalankan kode ini blok fungsi undo pada sheet, dan Anda tidak akan dapat membatalkan tindakan yang salah dengan menekan Ctrl + Z .
Sorot baris dan kolom aktif tanpa VBA
Yang terbaik yang bisa Anda dapatkan untuk menyorot baris dan / atau kolom yang dipilih tanpa VBA adalah pemformatan bersyarat Excel. Untuk mengaturnya, lakukan langkah-langkah ini:
- Pilih dataset Anda di mana penyorotan harus dilakukan.
- Pada Rumah tab, di tab Gaya kelompok, klik Aturan Baru .
- Dalam Aturan Pemformatan Baru kotak dialog, pilih Gunakan formula untuk menentukan sel mana yang akan diformat .
- Dalam Memformat nilai di mana rumus ini benar kotak, masukkan salah satu dari formula ini:
Untuk menyoroti baris aktif :
=CELL("baris")=ROW()
Untuk menyoroti kolom aktif :
=CELL("col")=COLUMN()
Untuk menyoroti baris dan kolom aktif :
=OR(CELL("row")=ROW(), CELL("col")= COLUMN())
Semua rumus menggunakan fungsi CELL untuk mengembalikan nomor baris / kolom dari sel yang dipilih.
- Klik Format tombol, beralih ke tombol Isi tab, dan pilih warna yang Anda sukai.
- Klik OK dua kali untuk menutup kedua jendela dialog.
Jika Anda merasa membutuhkan instruksi yang lebih rinci, silakan lihat Cara membuat aturan pemformatan bersyarat berbasis rumus.
Untuk contoh ini, kami memilih rumus OR untuk membuat bayangan kolom dan baris dengan warna yang sama. Itu membutuhkan lebih sedikit pekerjaan dan cocok untuk sebagian besar kasus.
Sayangnya, solusi ini tidak sebaik solusi VBA karena memerlukan menghitung ulang lembar secara manual (Secara default, Excel menghitung ulang lembar kerja hanya setelah memasukkan data baru atau mengedit data yang sudah ada, tetapi tidak ketika pilihan berubah. Jadi, Anda memilih sel lain - tidak ada yang terjadi. Tekan F9 - lembar disegarkan, rumus dihitung ulang, dan penyorotan diperbarui.
Untuk mendapatkan lembar kerja yang dihitung ulang secara otomatis setiap kali PerubahanPemilihan terjadi, Anda dapat menempatkan kode VBA sederhana ini dalam modul kode lembar target Anda seperti yang dijelaskan dalam contoh sebelumnya:
Private Sub Worksheet_SelectionChange( ByVal Target As Range) Target.Calculate End SubKode memaksa rentang / sel yang dipilih untuk menghitung ulang, yang pada gilirannya memaksa fungsi CELL untuk memperbarui dan pemformatan bersyarat untuk mencerminkan perubahan.
Keuntungan : tidak seperti metode sebelumnya, metode ini tidak memengaruhi pemformatan yang sudah ada yang sudah Anda terapkan secara manual.
Kekurangan : dapat memperburuk kinerja Excel.
- Agar pemformatan bersyarat berfungsi, Anda perlu memaksa Excel untuk menghitung ulang rumus pada setiap perubahan pilihan (baik secara manual dengan tombol F9 atau secara otomatis dengan VBA). Penghitungan ulang yang dipaksakan dapat memperlambat Excel Anda. Karena kode kami menghitung ulang pilihan daripada seluruh lembar, efek negatif kemungkinan besar hanya akan terlihat pada buku kerja yang sangat besar dan kompleks.
- Karena fungsi CELL tersedia di Excel 2007 dan yang lebih tinggi, metode ini tidak akan berfungsi di versi sebelumnya.
Sorot baris dan kolom yang dipilih menggunakan pemformatan bersyarat dan VBA
Jika metode sebelumnya sangat memperlambat buku kerja Anda, Anda dapat melakukan pendekatan tugas secara berbeda - alih-alih menghitung ulang lembar kerja pada setiap gerakan pengguna, dapatkan nomor baris / kolom aktif dengan bantuan VBA, lalu sajikan nomor tersebut ke fungsi ROW () atau COLUMN () dengan menggunakan rumus pemformatan bersyarat.
Untuk mencapai hal ini, berikut ini langkah-langkah yang perlu Anda ikuti:
- Tambahkan lembar kosong baru ke buku kerja Anda dan beri nama Lembar Pembantu Satu-satunya tujuan sheet ini adalah untuk menyimpan dua angka yang mewakili baris dan kolom yang berisi sel yang dipilih, sehingga Anda dapat menyembunyikan sheet dengan aman di kemudian hari.
- Sisipkan VBA di bawah ini di jendela kode lembar kerja tempat Anda ingin menerapkan penyorotan. Untuk instruksi terperinci, silakan merujuk ke contoh pertama kami. Private Sub Worksheet_SelectionChange( ByVal Target As Range) Application.ScreenUpdating = False Worksheets( "Helper Sheet" ).Cells(2, 1) = Target.Row Worksheets( "Helper Sheet" ).Cells(2, 2) = Target.Column Application.ScreenUpdating= True End Sub
Kode di atas menempatkan koordinat baris dan kolom aktif ke sheet bernama "Helper Sheet". Jika Anda menamai sheet Anda secara berbeda pada langkah 1, ubah nama lembar kerja dalam kode yang sesuai. Nomor baris ditulis ke A2 dan nomor kolom ke B2.
- Di lembar kerja target Anda, pilih seluruh kumpulan data, dan buat aturan pemformatan bersyarat dengan rumus di bawah ini. Panduan langkah demi langkah disediakan dalam contoh di atas.
Dan sekarang, mari kita bahas tiga kasus penggunaan utama secara mendetail.
Cara menyorot baris aktif
Untuk menyorot baris tempat kursor Anda ditempatkan saat ini, siapkan aturan pemformatan bersyarat dengan rumus ini:
=ROW()='Lembar Pembantu'!$A$2
Hasilnya, pengguna dapat melihat dengan jelas baris mana yang sedang dipilih:
Cara menyorot kolom aktif
Untuk menyorot kolom yang dipilih, masukkan nomor kolom ke fungsi COLUMN menggunakan rumus ini:
=COLUMN()='Lembar Pembantu'!$B$2
Sekarang, kolom yang disorot memungkinkan Anda dengan nyaman dan mudah membaca data vertikal yang berfokus sepenuhnya pada kolom itu.
Cara menyorot baris dan kolom aktif
Untuk mendapatkan baris dan kolom yang dipilih secara otomatis diarsir dengan warna yang sama, gabungkan fungsi ROW() dan COLUMN() ke dalam satu formula:
=OR(ROW()='Lembar Pembantu'!$A$2, COLUMN()='Lembar Pembantu'!$B$2)
Data yang relevan segera difokuskan, sehingga Anda bisa menghindari salah baca.
Keuntungan : kinerja yang dioptimalkan; bekerja di semua versi Excel
Kekurangan : penyiapan terpanjang
Itulah cara menyorot kolom dan baris sel yang dipilih di Excel. Saya berterima kasih telah membaca dan berharap dapat melihat Anda di blog kami minggu depan!
Buku kerja latihan untuk diunduh
Menyoroti baris dan kolom aktif (file .xlsm)