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

Bagaimana cara menghapus konten sel tertentu jika nilai sel lain berubah di Excel?

Misalkan Anda ingin menghapus rentang konten sel tertentu jika nilai sel lain diubah, bagaimana Anda bisa melakukannya? Posting ini akan menunjukkan kepada Anda metode untuk mengatasi masalah ini.

Hapus konten sel yang ditentukan jika nilai sel lain berubah dengan kode VBA


Hapus konten sel yang ditentukan jika nilai sel lain berubah dengan kode VBA

Seperti gambar di bawah ini, ketika nilai di sel A2 diubah, konten di sel C1: C3 akan dihapus secara otomatis. Silakan lakukan sebagai berikut.

1. Pada lembar kerja Anda akan menghapus isi sel berdasarkan perubahan sel lain, klik kanan tab lembar dan pilih Lihat kode dari menu konteks. Lihat tangkapan layar:

2. Dalam pembukaan Microsoft Visual Basic untuk Aplikasi jendela, salin dan tempel kode VBA di bawah ini ke jendela Kode.

Kode VBA: Hapus konten sel tertentu jika nilai sel lain berubah

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A2")) Is Nothing Then
        Range("C1:C3").ClearContents
    End If
End Sub

Note: Dalam kode, B2 adalah sel tempat Anda akan menghapus konten sel berdasarkan, dan C1: C3 adalah rentang konten yang akan Anda hapus. Harap ubah sesuai kebutuhan Anda.

3. tekan lain + Q kunci untuk menutup Microsoft Visual Basic untuk Aplikasi jendela.

Kemudian Anda dapat melihat konten dalam rentang C1: C3 dihapus secara otomatis ketika nilai di sel A2 berubah seperti gambar di bawah ini.


Artikel terkait:


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-2021 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.
  • Meningkatkan produktivitas Anda sebesar 50%, dan mengurangi ratusan klik mouse untuk Anda setiap hari!
officetab bawah
Urutkan komentar berdasarkan
komentar (37)
Belum ada peringkat. Jadilah yang pertama memberi peringkat!
Komentar ini diminimalkan oleh moderator di situs
Kode untuk menghapus sel jika perubahan lain berfungsi dengan baik!!!! Tapi saya membutuhkannya untuk bekerja sebaliknya..... Bagaimana kode itu ditulis??


Terima kasih atas bantuan Anda
Komentar ini diminimalkan oleh moderator di situs
Scott yang terhormat,
Apa maksudmu bekerja sebaliknya? Saat menghapus konten sel tertentu secara manual (C1:C3), lalu menghapus konten sel A2 secara otomatis?
Komentar ini diminimalkan oleh moderator di situs
halo, ini hanya berfungsi untuk sel sumber tetap (A2), bagaimana ini secara dinamis seperti sumber adalah sel variabel? saya mencoba menulis
A= sel aktif.baris
Jika Tidak Berpotongan(Target, Rentang("A"& A)) Tidak Ada Maka
Rentang("C1:C3").Hapus Isi
End If

ini harus melakukan pekerjaan yang berkaitan dengan sel aktif (yaitu pemilihan) tetapi tidak berfungsi
Terima kasih
Komentar ini diminimalkan oleh moderator di situs
Selamat siang,
Silakan coba kode VBA di bawah ini. Terima kasih atas komentarmu.

Sub Lembar Kerja Pribadi_Rubah (Rentang Target As ByVal)
Jika (Tidak Berpotongan(Target, Baris(1)) Tidak Ada) Dan (Target.Jumlah = 1) Maka
Rentang("C1:C3").Hapus Isi
End If
End Sub
Komentar ini diminimalkan oleh moderator di situs
Hai, Saya mencari cara untuk menghapus rentang sel data ketika "x" dimasukkan di sel tertentu. Saya menggunakan rumus di atas dan itu bekerja dengan sempurna untuk satu baris itu. Masalahnya adalah saya perlu memperluasnya ke banyak baris. Misalnya, jika "x" dimasukkan di "D13", saya perlu menghapus rentang J:13 - v:13. Saya juga ingin itu terjadi jika x dimasukkan di "D14" seperti di saya perlu rentang d:14 - v:14 untuk dihapus. Apakah ada cara untuk menulis itu? Terima kasih atas bantuan Anda!
Komentar ini diminimalkan oleh moderator di situs
Hai ini tidak bekerja untuk saya. Tidak ada yang berubah tetapi juga tidak ada kesalahan. Ada tips?
Komentar ini diminimalkan oleh moderator di situs
Hari baik,
Maaf untuk ketidaknyamanannya. Apakah Anda akan memberikan versi Office Anda? Terima kasih atas komentar Anda.
Komentar ini diminimalkan oleh moderator di situs
Dalam kasus A2, bagaimana cara mereferensikan sel dari lembar kerja yang berbeda?
Komentar ini diminimalkan oleh moderator di situs
cara melakukan ini tanpa VBA?
Komentar ini diminimalkan oleh moderator di situs
Hai Sonia,
Tidak menemukan solusi apa pun kecuali VBA. Terima kasih atas komentar Anda.
Komentar ini diminimalkan oleh moderator di situs
Kode VBA apa yang saya gunakan jika saya memiliki tabel dan membutuhkan banyak tempat kosong?

Meja saya adalah B3:E7. Jika konten di kolom B dihapus maka saya ingin data di kolom C, D, E dihapus untuk baris itu. Saya memiliki di bawah ini untuk baris 3, tetapi ingin hal yang sama di baris 4,5,6 dan 7.

Sub Lembar Kerja Pribadi_Rubah (Rentang Target As ByVal)
Jika Tidak Berpotongan(Target, Rentang("B3")) Tidak Berarti
Rentang("C3:E3").Hapus Isi
End If
End Sub
Komentar ini diminimalkan oleh moderator di situs
Bagaimana dengan seseorang yang hanya menghapus konten sel apa pun dengan klik dua kali?
Komentar ini diminimalkan oleh moderator di situs
Hai, bagaimana Anda mengulangi kode untuk lebih dari satu sel dalam contoh, yaitu jika saya menghapus isi sel a4 & a5, saya ingin menghapus isi b4:z4 & b5:z5 masing-masing, saya perlu melakukan ini untuk spreadsheet besar dengan 1000 baris, saran apa pun akan sangat dihargai
Komentar ini diminimalkan oleh moderator di situs
Hai Julian, saya juga mencari hal yang sama, beri tahu saya jika Anda punya solusi untuk ini.
Komentar ini diminimalkan oleh moderator di situs
Silakan ubah nomornya sesuai
Redupkan saya Sebagai Integer
Sub Lembar Kerja Pribadi_Rubah (Rentang Target As ByVal)
Untuk i = 2 Sampai 10
rentang tampilan = "A" & i
rentang konten = "B" & i & ":" & "C" & i
Jika Tidak Berpotongan(Target, Rentang(lookrange)) Bukan Apa-apa Maka
Rentang (rentang konten). Hapus Konten
End If
Selanjutnya saya
End Sub
Komentar ini diminimalkan oleh moderator di situs
Hai sagarsrinivas0312, Terima kasih banyak atas kode ini. Saya sudah mencari solusi ini selama seminggu!
Komentar ini diminimalkan oleh moderator di situs
Ini bagus, terima kasih. Bagaimana saya melakukan ini beberapa kali ... jadi hapus sel lain berdasarkan kolom yang berbeda?
Komentar ini diminimalkan oleh moderator di situs
Riusciresti a scrivermelo in modo che debba solo fare copia ed incolla?
tidak benar-benar fungsi yang jauh

grazie mille
Komentar ini diminimalkan oleh moderator di situs
Hai,
saya mencoba untuk menghapus sel ekstra kolom A dan B jika menemukan sel kosong di kolom C lembar bernama "Terjual" dan Makro berjalan dari Lembar bernama "Faktur".

Saya mendapat kode di bawah ini dari situs bantuan tetapi tidak mendapatkan yang saya inginkan.
tolong bantu saya tentang hal itu. Screenshot terlampir apa yang saya inginkan.

Jumlah Hapus()

Redupkan Selamanya
Untuk g = 2 Ke ActiveSheet.UsedRange.Rows.Count
Jika Sel(g, "C").Nilai = "" Maka
Sel(g, "A").Hapus Isi
Sel(g, "B").Hapus Isi

End If
Next
Jumlah Akhir
Komentar ini diminimalkan oleh moderator di situs
Ini tampaknya tidak berfungsi jika konten sel yang ditentukan dikendalikan oleh sel di lembar lain? apakah ada perbaikan untuk ini?
Contoh menggunakan nama sel Anda
Jika sel "A2" adalah (=sheet1[@[a5]] dan nomor ini berubah pada lembar 1 kemudian mengubah konten A2, itu tidak menghapus konten dalam rentang yang ditentukan.
Komentar ini diminimalkan oleh moderator di situs
Sub Worksheet_Activate () Pribadi
If Range("S2") <> Range("A2").Value Then
Rentang("S2") = Rentang("A2").Nilai
Rentang("d2:g2").Hapus Isi
End If
'S2' dapat diganti dengan sel apa pun di luar jangkauan data. Apa yang dilakukan VBA adalah secara otomatis memperbarui data untuk 'S2' kemudian data yang diperbarui adalah apa yang mengontrol rentang yang Anda tentukan dan apakah itu dihapus atau tidak.
Ini adalah satu-satunya cara yang saya temukan untuk berhasil melakukan ini saat menggunakan sel yang direferensikan baik di dalam maupun di luar lembar kerja.
Komentar ini diminimalkan oleh moderator di situs
Tidak cukup apa yang saya butuhkan tetapi sampai di sana. Saya memiliki sel kosong E3. Saya memiliki data di B3. Ketika saya memasukkan data ke E3, jika sama dengan B3 maka B3 dihapus. Semoga Anda dapat membantu saya.
Komentar ini diminimalkan oleh moderator di situs
Apakah mungkin untuk menghapus konten sel tertentu jika sel pemicu berisi nomor tertentu? Katakanlah, JIKA sel A1 = 1, lalu hapus Sel A2:A4?
Komentar ini diminimalkan oleh moderator di situs
Halo semua,

Besoin d'aide, j'ai besoin d'effacer le contenu d'une cellule de la colonne "I" si la cellule (de la même ligne) de la colonne "O" =0, sur environ 2000 lignes avec des titres tout le 10 lignes lingkungan.
Komentar ini diminimalkan oleh moderator di situs
Halo,

Hanya mencari cara mudah untuk membuatnya jadi jika "B2" telah memilih "Ya" dari daftar validasi data, sel B3 akan menghapus datanya... dan sebaliknya: Jika "B3" telah memilih "Ya" dari daftar validasi data, sel "B2" akan menghapus datanya.

Pada dasarnya B2 or B3 bisa bilang"Yes"(dari daftar validasi data) tetapi tidak pernah pada waktu yang sama, yang satu harus menghapus yang lain.
Komentar ini diminimalkan oleh moderator di situs
Hai Jeff,
Kode VBA berikut dapat membantu Anda. Ayo cobalah.
Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 20220721
If Target.Cells.Count > 1 Then Exit Sub
    If (Not Intersect(Target, Range("B2")) Is Nothing) And (Target.Value = "Yes") Then
        Range("B3").ClearContents
        Else
        If (Not Intersect(Target, Range("B3")) Is Nothing) And (Target.Value = "Yes") Then
        Range("B2").ClearContents
    End If
    End If
End Sub
Komentar ini diminimalkan oleh moderator di situs
Buongiorno, avrei bisogno di cancellare una serie di caselle (un rettangolo, quindi su più righe e colonne) di base al valore di un'altra cella. es: se la cella A2 inferiore di 12, il quadrato con vertici opposto C2 : F4 venga cancellato.
Grazie mille
Komentar ini diminimalkan oleh moderator di situs
Hai Pietro,
Maaf saya kurang mengerti pertanyaan anda. Apakah Anda keberatan mengunggah tangkapan layar data Anda?
Komentar ini diminimalkan oleh moderator di situs
омогите ешением, VBA е аю. е о енении ейки алить анные ой обы о ейстовало а есь олбец.
е 2 ается G2, е 3 ается G3, еняю A6 аляется G6 .д.

Sub Lembar Kerja Pribadi_Rubah (Rentang Target As ByVal)
Jika Tidak Berpotongan(Target, Rentang("A2")) Tidak Ada Apa-apanya
Rentang("G2").Hapus Isi
End If
End Sub


анный од орош одной ейки, а ак его азмножить а е ейки олбца?
Komentar ini diminimalkan oleh moderator di situs
Hai ата,
Kode VBA berikut dapat membantu Anda memecahkan masalah. Ayo cobalah.

Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 20221013
    Dim xRight As Range
    Dim KeyCells As Range
    Set KeyCells = Range("A:A")
    Set xRight = Target.Offset(0, 6)
    If Not Application.Intersect(KeyCells, Range(Target.Address)) Is Nothing Then
        xRight.ClearContents
    End If
End Sub
Komentar ini diminimalkan oleh moderator di situs
Halo,

Zu Punk 3.
Die Taste "Andere" Temukan ich nicht auf meiner Windows Tastatur. Ich Habe Strg, Alt, Tab... allerdings die Taste Andere gibt es auf meiner Tastatur leider nicht.

Lieben Gruß Mathias
Komentar ini diminimalkan oleh moderator di situs
Hai Mathias,
Jika Anda tidak dapat menemukan tombol yang sesuai pada keyboard. Anda cukup mengklik Save tombol di Jendela Aplikasi Microsoft Visual Basic untuk menyimpan kode dan kemudian menutup jendela ini secara manual.
Komentar ini diminimalkan oleh moderator di situs
Halo,
Kode di bawah ini berfungsi seperti yang diiklankan tetapi, masalah berikut terjadi:

Pertama, saat mengubah ukuran tabel yang ditargetkan, semua data tabel dihapus DAN, semua kecuali header kolom 1 diberi label ulang ke "Kolom1, Kolom2, dll. DAN buku kerja menyimpannya secara otomatis dan mematikan pembatalan.

Kedua, saat menghapus baris tabel apa pun, saya mendapatkan "Run-time error 1004 (Metode Offset dari Rentang objek gagal.


Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("F3:F500")) Is Nothing Then
     Target.Offset(0, 1).ClearContents
    ElseIf Not Intersect(Target, Range("G3:G500")) Is Nothing Then
        Target.Offset(0, 1).ClearContents
        Target.Offset(0, 2).ClearContents
    ElseIf Not Intersect(Target, Range("H3:H500")) Is Nothing Then
        Target.Offset(0, 1).ClearContents
    End If
End Sub


Setiap ide tentang apa yang bisa salah?

Thanks in advance!
Komentar ini diminimalkan oleh moderator di situs
Hola, bekerja berdasarkan data di KANTOR ONLINE melalui ONEDRIVE, yang ingin PONER "CANCELADO" atau "NOSHOW" menghapus konten dari fila yang dipilih.
Komentar ini diminimalkan oleh moderator di situs
Hai Malaikat,
Kode VBA tidak berfungsi di Office Online. Maaf untuk ketidaknyamanannya.
Belum ada komentar yang diposting di sini
Muat Lebih
Tinggalkan komentar anda
Posting sebagai Tamu
×
Beri peringkat pos ini:
0   Karakter
Lokasi yang Disarankan

Ikuti kami

Hak Cipta © 2009 - www.extendoffice.com. | Seluruh hak cipta. Dipersembahkan oleh ExtendOffice. | Peta Situs
Microsoft dan logo Office adalah merek dagang atau merek dagang terdaftar dari Microsoft Corporation di Amerika Serikat dan / atau negara lain.
Dilindungi oleh Sectigo SSL