Isi kandungan:
Video: Cara Membuat Filter Data dengan VBA/Macro Excel 2025
Dalam Excel, anda mungkin menggunakan data yang sangat sensitif yang anda ingin simpan setiap kali sel tertentu atau julat sel berubah. Makro ini membolehkan anda untuk menentukan pelbagai sel yang, apabila berubah, memaksa buku kerja untuk disimpan.
Dalam contoh yang ditunjukkan, anda mahu buku kerja disimpan apabila penyuntingan dibuat ke mana-mana sel dalam lingkungan C5: C16.
Bagaimana makro berfungsi
Rahsia untuk kod ini ialah kaedah Intersect. Kerana anda tidak mahu menyimpan lembaran kerja apabila mana-mana sel lama berubah, anda menggunakan kaedah Intersect untuk menentukan sama ada sel target (sel yang berubah) bersilang dengan julat yang dinyatakan sebagai julat pencetus (C5: C16 dalam kes ini).
Kaedah Intersect mengembalikan satu daripada dua perkara: objek Range yang mentakrifkan persimpangan antara dua julat yang diberi, atau tidak. Jadi pada dasarnya, anda perlu membuang sel sasaran terhadap kaedah Intersect untuk memeriksa nilai Tidak. Pada ketika itu, anda boleh memutuskan sama ada hendak menyimpan buku kerja.
Sub Kertas Kerja Lembaran_Change (ByVal Target As Range) 'Langkah 1: Adakah julat berubah bersilang? Jika Sasaran (Sasaran, Julat ("C5: C16")) Tidak Ada Lagi 'Langkah 2: Jika tiada persimpangan, jalan keluar Exit Sub' Langkah 3: Jika terdapat persimpangan, simpan buku kerja Else ActiveWorkbook. Simpan 'Langkah 4: Tutup keluar Jika pernyataan Akhir Jika Akhir Sub
Di Langkah 1, anda semak untuk melihat sama ada sel target (sel yang telah berubah) berada dalam julat yang ditentukan oleh kaedah Intersect. Nilai Tidak ada bermakna sel sasaran berada di luar jangkauan yang ditentukan.
Langkah 2 memaksa makro berhenti dan keluar dari prosedur jika tiada persimpangan antara sel target dan julat yang ditetapkan.
Jika terdapat persimpangan, Langkah 3 memadamkan kaedah Simpan buku kerja aktif, menimpa versi terdahulu.
Dalam Langkah 4, anda hanya menutup kenyataan Jika. Setiap kali anda memulakan pemeriksaan If-Then-Else, anda mesti menutupnya dengan End If yang sama.
Cara menggunakan makro
Untuk melaksanakan makro ini, anda perlu menyalin dan menampalnya ke dalam tetingkap kod acara Worksheet_Change. Menetapkan makro di sini membolehkannya berjalan setiap kali anda membuat sebarang perubahan pada helaian:
-
Aktifkan Visual Basic Editor dengan menekan Alt + F11.
-
Dalam tetingkap projek, cari nama projek / buku kerja anda dan klik tanda tambah di sebelahnya untuk melihat semua helaian.
-
Klik helaian dari mana anda ingin mencetuskan kod.
-
Dalam senarai juntai Acara, pilih acara Perubahan.
-
Taip atau tampal kod dalam modul yang baru dibuat, ubah alamat rangkaian untuk memenuhi keperluan anda.
Masukkan kod anda dalam acara Perubahan Worksheet.
