Note: The other languages of the website are Google-translated. Back to English
English English

Bagaimana cara menerapkan kembali filter otomatis saat data berubah di Excel?

Di Excel, saat Anda menerapkan file SARING berfungsi untuk memfilter data, hasil filter tidak akan berubah secara otomatis dengan adanya perubahan data pada data yang Anda filter. Misalnya, ketika saya memfilter semua Apel dari data, sekarang, saya mengubah salah satu data yang difilter menjadi BBBBBB, tetapi hasilnya tidak akan berubah seperti gambar berikut yang ditampilkan. Artikel ini, saya akan berbicara tentang cara menerapkan kembali filter otomatis secara otomatis saat data berubah di Excel.

filter penyegaran otomatis doc 1

Terapkan kembali filter otomatis secara otomatis saat data berubah dengan kode VBA


panah gelembung kanan biru Terapkan kembali filter otomatis secara otomatis saat data berubah dengan kode VBA

Biasanya, Anda dapat menyegarkan data filter dengan mengklik fitur Terapkan kembali secara manual, tetapi, di sini, saya akan memperkenalkan kode VBA agar Anda dapat menyegarkan data filter secara otomatis saat data berubah, lakukan hal berikut:

1. Masuk ke lembar kerja yang ingin Anda refresh otomatis saat data berubah.

2. Klik kanan tab lembar, lalu pilih Lihat kode dari menu konteks, di-pop-out Microsoft Visual Basic untuk Aplikasi jendela, silakan salin dan tempel kode berikut ke jendela Modul kosong, lihat tangkapan layar:

Kode VBA: Terapkan kembali filter secara otomatis saat data berubah:

Private Sub Worksheet_Change(ByVal Target As Range)
   Sheets("Sheet3").AutoFilter.ApplyFilter
End Sub

filter penyegaran otomatis doc 2

Note: Dalam kode di atas, Lembar 3 adalah nama sheet dengan filter otomatis yang Anda gunakan, harap ubah sesuai kebutuhan Anda.

3. Dan kemudian simpan dan tutup jendela kode ini, sekarang, saat Anda mengubah data yang difilter, file SARING fungsi akan disegarkan secara otomatis sekaligus, lihat tangkapan layar:

filter penyegaran otomatis doc 3


Alat Produktivitas Kantor Terbaik

Kutools for Excel Memecahkan Sebagian Besar Masalah Anda, dan Meningkatkan Produktivitas Anda hingga 80%

  • Reuse: Masukkan dengan cepat rumus, bagan yang kompleks dan apa pun yang pernah Anda gunakan sebelumnya; Enkripsi Sel dengan kata sandi; Buat Milis dan mengirim email ...
  • Bilah Formula Super (dengan mudah mengedit beberapa baris teks dan rumus); Membaca Tata Letak (membaca dan mengedit sel dalam jumlah besar dengan mudah); Tempel ke Rentang yang Difilter...
  • Gabungkan Sel / Baris / Kolom tanpa kehilangan Data; Pisahkan Konten Sel; Gabungkan Baris / Kolom Duplikat... Mencegah Sel Duplikat; Bandingkan Rentang...
  • Pilih Duplikat atau Unik Baris; Pilih Baris Kosong (semua sel kosong); Temukan Super dan Temukan Fuzzy di Banyak Buku Kerja; Pilih Acak ...
  • Salinan Tepat Beberapa Sel tanpa mengubah referensi rumus; Buat Referensi Otomatis ke Beberapa Lembar; Sisipkan Poin, Kotak Centang, dan lainnya ...
  • Ekstrak Teks, Tambahkan Teks, Hapus berdasarkan Posisi, Hapus Space; Membuat dan Mencetak Subtotal Paging; Konversi Konten Antar Sel dan Komentar...
  • Filter Super (simpan dan terapkan skema filter ke sheet lain); Penyortiran Lanjutan menurut bulan / minggu / hari, frekuensi dan lainnya; Filter Khusus dengan huruf tebal, miring ...
  • Gabungkan Workbooks dan WorkSheets; Gabungkan Tabel berdasarkan kolom kunci; Pisahkan Data menjadi Beberapa Lembar; Konversi Batch xls, xlsx dan PDF...
  • Lebih dari 300 fitur canggih. Mendukung Office / Excel 2007-2019 dan 365. Mendukung semua bahasa. Penerapan yang mudah di perusahaan atau organisasi Anda. Fitur lengkap uji coba gratis 30 hari. Jaminan uang kembali 60 hari.
tab kte 201905

Tab Office Membawa antarmuka Tab ke Office, dan Membuat Pekerjaan Anda Jauh Lebih Mudah

  • Aktifkan pengeditan dan pembacaan tab di Word, Excel, PowerPoint, Publisher, Access, Visio, dan Project.
  • Buka dan buat banyak dokumen di tab baru di jendela yang sama, bukan di jendela baru.
  • Tingkatkan produktivitas Anda hingga 50%, dan kurangi ratusan klik mouse untuk Anda setiap hari!
officetab bawah
Urutkan komentar berdasarkan
komentar (36)
Rated 5 dari 5 · peringkat 1
Komentar ini diminimalkan oleh moderator di situs
halo, bagaimana saya bisa menggunakan semua ini di keuangan google? terima kasih
Komentar ini diminimalkan oleh moderator di situs
Bagus .. benar-benar saya membutuhkannya
Komentar ini diminimalkan oleh moderator di situs
Saya ingin perubahan pada satu lembar menyebabkan beberapa lembar lainnya menjadi filter otomatis, bagaimana cara mengubah kode ini? Contoh: SheetA diubah, yang menyebabkan Sheet1, Sheet2, dan Sheet3 menerapkan filter otomatisnya. Terima kasih!
Komentar ini diminimalkan oleh moderator di situs
Saya melakukan ini untuk halaman depan jika sel diatur ke =sheet1!E6. Itu tidak akan menerapkan filter ketika berubah. Jika saya mengubah nomor di lembar belakang itu menyesuaikan depan tetapi tidak menyaring. Jika sesuaikan rumus untuk memfilternya, kriteria itu akan diterapkan kembali. Apa yang dapat saya?
Komentar ini diminimalkan oleh moderator di situs
Gunakan ini
Sub Work_Change Pribadi (Target ByVal Sebagai Rentang)
Lembar Aktif.Filter Otomatis.TerapkanFilter
End Sub
Komentar ini diminimalkan oleh moderator di situs
Saya tidak bisa membuat ini bekerja untuk saya sama sekali. Saya mencoba mengambil dari lembar master dan hanya mengambil pekerjaan yang berlaku untuk manajer proyek tertentu di setiap tab yang ada namanya. Saya juga ingin menyegarkan otomatis ketika saya membuat perubahan.
Komentar ini diminimalkan oleh moderator di situs
perintah ini semua palsu tidak melakukan apa-apa. benar-benar mencoba tetapi tidak ada gunanya.
Komentar ini diminimalkan oleh moderator di situs
Bekerja dengan baik dan menghemat banyak waktu dan mengotak-atik.. Tip yang sangat bagus.. Terima kasih banyak atas bantuan Anda
Komentar ini diminimalkan oleh moderator di situs
Solusi ini bekerja dengan sempurna. Terima kasih telah menulisnya! Jika ada yang mengalami kesulitan, ada beberapa hal yang perlu dipertimbangkan.

Pertama, acara Worksheet_Change dipanggil berdasarkan lembar demi lembar. Ini berarti jika Anda memiliki beberapa lembar yang memiliki filter yang perlu diperbarui, Anda harus merespons semua peristiwa tersebut. Satu subrutin Worksheet_Change untuk setiap lembar kerja, bukan satu subrutin untuk seluruh buku kerja (satu pengecualian - lihat catatan di bawah).

Kedua, dan sebagai tindak lanjut dari yang pertama, kode harus ditempatkan dalam modul kode khusus untuk lembar kerja yang akan dipantau. Sangat mudah untuk (secara tidak sengaja) mengganti modul kode setelah Anda masuk ke editor VB, jadi harus berhati-hati untuk menempatkannya secara spesifik ke lembar yang ingin Anda pantau untuk perubahan data.

Ketiga, ini belum dikonfirmasi, tetapi mungkin merupakan titik kesalahan. Contoh ini menggunakan nama sheet "Sheet1", "Sheet2", dll. Jika Anda telah mengganti nama sheet, Anda mungkin perlu memperbarui kode. Perhatikan pada contoh, Sheet7 telah diberi nama "dfdf". Jika Anda ingin memperbarui filter di sana, Anda harus menggunakan;
Sheets("dfdf").FilterOtomatis.TerapkanFilter
bukan;
Sheets("Sheet7").FilterOtomatis.TerapkanFilter

Mungkin baik untuk memperbarui artikel termasuk contoh dengan lembar yang diganti namanya.


Terakhir, jika Anda ingin memantau satu lembar untuk perubahan data, tetapi memperbarui filter pada beberapa lembar, maka Anda hanya perlu satu subrutin, ditempatkan di modul kode lembar kerja yang Anda pantau. Kodenya akan terlihat seperti ini;

# (kode harus ditempatkan di lembar kerja untuk dipantau perubahan datanya)
Sub Lembar Kerja Pribadi_Rubah (Rentang Target As ByVal)
Sheets("Sheet1").FilterOtomatis.TerapkanFilter
Sheets("Sheet2").FilterOtomatis.TerapkanFilter
Sheets("Sheet3").FilterOtomatis.TerapkanFilter
Sheets("Sheet4").FilterOtomatis.TerapkanFilter
End Sub
Komentar ini diminimalkan oleh moderator di situs
Halo, Mike,
Terima kasih atas penjelasan rinci Anda.
Komentar ini diminimalkan oleh moderator di situs
Penjelasan yang bagus, terima kasih.

Tapi bagaimana cara memicu Sheets("Sheet3").AutoFilter.ApplyFilter saat lembar baru dibuat?
Karena saya tidak bisa menulis kode yang Anda sebutkan di lembar yang belum ada
Komentar ini diminimalkan oleh moderator di situs
Terima kasih banyak!
Komentar ini diminimalkan oleh moderator di situs
bekerja seperti seorang juara, dan sangat sederhana. terima kasih banyak!
Komentar ini diminimalkan oleh moderator di situs
Ini sepertinya bagus. Bisakah Anda memberi tahu saya cara melakukan hal yang sama untuk Sortir, bukan Filter?
Komentar ini diminimalkan oleh moderator di situs
Halo, Kris,
Mungkin, artikel berikut dapat mengatasi masalah Anda, silakan lihat:

https://www.extendoffice.com/documents/excel/2592-excel-auto-sort-by-value.html

Silakan coba!
Komentar ini diminimalkan oleh moderator di situs
Hai, itu berfungsi dengan baik, namun hanya ketika mengubah data secara manual di tabel.

Saya memiliki tabel filter gaya 'sepuluh/papan pemimpin' yang diisi dari entri data pada lembar kerja terpisah (sebenarnya data melewati 3 lembar kerja sebelum sampai ke tabel). Saat data diubah di lembar kerja entri data, tabel papan pemimpin diperbarui namun filter tidak otomatis diperbarui.
Ada ide tentang cara melakukannya?
Terima kasih banyak.
alex
Komentar ini diminimalkan oleh moderator di situs
Saya memiliki dia masalah yang sama. Bisakah seseorang membantu kami?
Komentar ini diminimalkan oleh moderator di situs
Saya mengalami masalah yang sama. Saya mencoba autofilter sheet 2 yang berisi data yang berasal dari sheet 1. ini hanya berfungsi jika saya mengubah data pada sheet 2, bukan pada sheet 1.
Adakah pemikiran tentang mengapa ini tidak berhasil dan bagaimana cara memperbaikinya?
Komentar ini diminimalkan oleh moderator di situs
Hai, ini tampaknya berfungsi dengan baik tetapi saya mengalami masalah ketika ada lebih dari satu filter pada lembar kerja (tab) yang sama. Saya mengonversi rentang sel ke tabel untuk memungkinkan filter terpisah dan banyak dalam lembar kerja yang sama. Contoh ini hanya muncul untuk memperbarui salah satu tabel/filter. Adakah saran tentang cara memperbarui SEMUA tabel/filter dalam lembar kerja?

Banyak terima kasih,

Tom
Komentar ini diminimalkan oleh moderator di situs
Hai, Tom,
Kode dalam artikel ini berfungsi dengan baik untuk beberapa tabel dalam lembar kerja, Anda hanya perlu menekan tombol Enter setelah mengubah data alih-alih mengklik ke sel lain.
Silakan coba.
Komentar ini diminimalkan oleh moderator di situs
Terima kasih

sangat membantu
Komentar ini diminimalkan oleh moderator di situs
Ini tidak berfungsi dengan filter berdasarkan pemilihan daftar https://www.extendoffice.com/documents/excel/4113-excel-filter-based-on-list-selection.html
Komentar ini diminimalkan oleh moderator di situs
Brilian dan sederhana untuk dilakukan. Terima kasih banyak!
Komentar ini diminimalkan oleh moderator di situs
Hai,

Kode ini berfungsi dengan baik, terima kasih banyak.

Namun, saya memiliki satu masalah kecil dengannya - jika saya mengubah nilai di sel mana pun yang bukan bagian dari tabel, saya disajikan dengan kesalahan Runtime yang mengatakan:

"Kesalahan run-time '91':

Variabel objek atau Dengan variabel blok tidak diatur"


Saya memiliki opsi untuk Debug atau Akhiri, opsi untuk Lanjutkan berwarna abu-abu. Saya dapat mengklik "End" dan kodenya masih berfungsi, namun sangat menjengkelkan harus berurusan dengan jendela sembulan ini setelah setiap perubahan.

Adakah yang punya pengalaman serupa atau saran tentang cara mengurutkan ini?

Terima kasih!
Komentar ini diminimalkan oleh moderator di situs
Halo, Daud,
Untuk mengatasi masalah Anda, Anda dapat menerapkan kode berikut:

Sub Lembar Kerja Pribadi_Rubah (Rentang Target As ByVal)
On Error Resume Next
Sheets("Sheet3").FilterOtomatis.TerapkanFilter
End Sub

Silakan dicoba, semoga bisa membantu Anda!
Komentar ini diminimalkan oleh moderator di situs
Hai Skyyang,


Saya telah menerapkan solusi Anda dan memang sudah diperbaiki.

Terima kasih banyak!
Komentar ini diminimalkan oleh moderator di situs
Halo Saya memiliki masalah yang sama, menempelkan kode baru dan mengubah nama lembar tetapi kemudian tidak ada yang terjadi, filter tidak diperbarui
Komentar ini diminimalkan oleh moderator di situs
masalah yang sama di sini juga, ada solusi yang diperbarui?
Komentar ini diminimalkan oleh moderator di situs
Tidak dapat menjalankan ini sama sekali di office 365
ada saran
Komentar ini diminimalkan oleh moderator di situs
Hai, terima kasih banyak atas bantuannya. Ada yang tidak beres untuk saya. Berikut ceritanya.

Sheet1 memiliki data variabel. Sheet3 memiliki data dan filter statis. Kriteria filter pada "Sheet3" berasal dari Sheet1. Sheet1 memiliki data yang berasal dari hasil yang difilter pada Sheet3.

Sheet3 memiliki kode:

Sub Worksheet_SelectionChange Pribadi (Target ByVal Sebagai Rentang)
Range("A1:U14").LanjutanFilter Action:=xlFilterCopy, CriteriaRange:=Range("A22:U23"), CopyToRange:=Range("A25:U26"), Unique:=False
End Sub

Ini berfungsi dengan baik jika saya melakukan sesuatu di Sheet3. Tidak ada masalah. Terima kasih!

Awalnya saya punya kode di Sheet1:

Sub Lembar Kerja Pribadi_Rubah (Rentang Target As ByVal)
Sheets("Sheet3").FilterOtomatis.TerapkanFilter
End Sub

Yang mengakibatkan kesalahan "Runtime error 91, Object Variable atau With Block not Set".

Saya mengubah kode berdasarkan komentar menjadi:

Sub Lembar Kerja Pribadi_Rubah (Rentang Target As ByVal)
On Error Resume Next
Sheets("Sheet3").FilterOtomatis.TerapkanFilter
End Sub

Sekarang saya tidak mendapatkan kesalahan, tetapi data di Sheet3 dan karenanya Sheet1 tidak berubah. Dengan kata lain, peristiwa penerapan filter ke Sheet3 tidak terjadi ketika saya membuat perubahan pada Sheet1. Tidak masalah jika saya memukul atau klik sel lain setelah mengubah sel kriteria filter Sheet3 yang disetel di Sheet1.

Selain itu, saya berharap jika saya ingin memiliki banyak sel di Sheet1 yang menyebabkan filter pada Sheets 4 dan 5 selain Sheet3, saya memerlukan kode pada Sheet 1 untuk membaca:

Sub Lembar Kerja Pribadi_Rubah (Rentang Target As ByVal)
On Error Resume Next
Sheets("Sheet3").FilterOtomatis.TerapkanFilter
Sheets("Sheet4").FilterOtomatis.TerapkanFilter
Sheets("Sheet5").FilterOtomatis.TerapkanFilter
End Sub

Terima kasih lagi!
Komentar ini diminimalkan oleh moderator di situs
Hai,

Ini adalah sedikit kode yang bagus terima kasih. Satu-satunya masalah yang saya alami adalah saya menggunakan drop down pada lembar grafik terpisah. Jika saya secara manual mengubah nilai di sel yang terkait dengan drop down, itu berfungsi. Tetapi ketika saya mencoba menggunakan drop down saja, itu tidak akan diperbarui. Ada pikiran?
Komentar ini diminimalkan oleh moderator di situs
Saya sebenarnya memiliki data dari file Excel lain yang diimpor dalam lembar Excel dengan nama "Database". Kemudian saya mengimpor data ini dalam file Excel yang sama tetapi dalam "Ringkasan" ExcelSheet lainnya. Saya ingin ketika data berubah di sumber asli, filter itu berlaku di lembar "Ringkasan". Terima kasih di depan untuk orang yang dapat membantu saya :). PS tidak dapat menggunakan VBA di excelsheet pertama
Belum ada komentar yang diposting di sini
Muat Lebih
Tinggalkan komentar anda
Posting sebagai Tamu
×
Beri peringkat pos ini:
0   Karakter
Lokasi yang Disarankan