• Rahasia Menghapus Semua Baris yang Memiliki Kriteria Tertentu Hanya Dengan Sekali klik

    del-row with vba excel Sebuah dokumen Microsoft Excel yang saat ini sedang atau yang akan dibangun dari berbagai format atau model data, maka ia bisa dipastikan akan berada atau ditempatkan dalam sebuah kotak atau yang lebih umum dikenal dengan istilah sel, yakni sebuah kotakyang merupakan perpotongan antara kolom dan baris, dimana kolom diwakili dengan abjad sementara baris diwakili dengan angka, yang mana ketika keduanya digabungkan akan membentuk sebuah alamat sel.

    Jadi, dengan ribuan kolom serta jutaan baris yang disediakan oleh Microsoft Excel, maka sudah pasti bahwa alamat-alamat tersebut tidak ada satupun yang sama, dan inilah salah satu kunci yang memudahkan seorang pengguna untuk mengolah data-data yang ada dalam dokumen Microsoft excel.

    Dari penjelasan singkat di atas maka dapat ditarik sebuah kesimpulan sementara bahwasanya setiap sel atau range dapat kita jadikan sebagai kunci (baca:kriteria) yang dapat digunakan untuk mengatur, mengolah, atau memodifikasi isi dari alamat sel yang terkait. Inilah tugas kita sebagai seorang pengguna Microsoft Excel yang dituntut untuk lebih teliti dalam menentukan sel atau range mana yang akan dijadikan sebagai kriteria dan sel atau range mana yang akan diolah atau dimodifikasi.

    Ada sebuah contoh kasus yang cukup menarik dan sedikit membuat saya jengkel - karena saya membutuhkan waktu sekitar kurang lebih 30 menit hanya untuk menyelesaikan masalah sederhana ini disebabkan ketidak-telitian dalam proses membaca alur perintah. Dan contoh kasus tersebut adalah :
    Menghapus Semua Baris yang berisi sebuah data (kriteria) dengan menggunakan Macro VBA
    Silahkan baca tutorial yang berkaitan dengan pembahasan kali ini
    Menggunakan Looping For...Next
    Menentukan posisi baris terakhir
    Memahami konsep logika IF dalam Macro VBA

    Ok, sebelum mulai melakukan percobaan, silahkan lihat data yang akan kita eksekusi berikut :
    excel - hapus baris sama
    Dari data di atas, terdapat dua buah kolom yang terdiri dari nama dan status, di mana kolom B yang memuat nilai x akan kita jadikan sebagai kunci untuk memodifikasi sel yang terkait dengannya, yakni berupa perintah untuk menghapus baris.

    Ok, saya akan berikan contoh kode Macro VBA yang "salah" dalam membaca alur perintah yang telah membuat saya menghabiskan waktu beberapa menit untuk memahaminya.
    Sub Salah()
    a = Range("a1").End(xlDown).Row
    For i = 2 To a
      If Cells(i, 2) = "x" Then
      Rows(i).Delete
    End If
    Next
    End Sub

    Dan berikut ini kode Macro VBA yang sudah saya revisi untuk melakukan perintah penghapusan baris jika sel-sel yang terdapat di kolom B memuat nilai x
    Sub Revisi()
    a = Range("a1").End(xlDown).Row
    For i = a To 2 Step -1
      If Cells(i, 2) = "x" Then
      Rows(i).Delete
    End If
    Next
    End Sub

    Apa yang membedakan antara kedua Kode Macro VBA di atas ?
    Pada dasarnya perintah untuk menghapus baris sudah dibaca secara sempurna oleh Microsoft Excel, hanya saja keduanya memiliki perbedaan pada alur membaca perintah penghapusan, yakni; pada kode Macro VBA yang salah, dalam mengeksekusi perintah dilakukan dari baris atas ke bawah, Sementara untuk kode yang sudah direvisi dilakukan dari bawah ke atas.

    Lantas, di mana letak kesalahannya ?
    Jika membacanya dari atas ke bawah, dan pada saat proses hapus baris dilakukan - maka baris setelahnya akan naik dan mengisi baris sebelumnya yang telah terhapus, dan jika baris tersebut berisi kriteria yang dimaksud maka otomatis ia akan dilewati (inilah letak kesalahannya) dan proses pencarian akan dilanjutkan ke baris setelahnya.
    sebaliknya, jika membaca dari bawah ke atas maka saat proses hapus baris dilakukan, ia tidak akan mengubah stuktur data yang ada di atanya, dan kode akan tetap membaca membaca kriteria yang yang ada di atasnya sampai dengan batas baris yang telah ditentukan.

    Untuk melihat perbadaan antara kedua kode di atas, silahkan perhatikan demontrasi yang sudah saya siapkan untuk anda berikut ini
    Perbedaan kode Macro VBA - Hapus Baris

    Selamat...sekarang anda sudah berhasil mengetahui dan semoga memahami dengan baik bagaimana cara menghapus semua baris yang berisi nilai tertentu dengan tepat dan benar. Silahkan jadikan situs ini sebagai situs favorit anda dalam belajar Microsoft Excel. Ciao Adios.

    Bonus untuk anda, model lain kode Macro VBA menghapus baris yang memiliki kriteria tertentu dengan menggunakan parameter AutoFilter
    Sub Bonus_Hapus_Baris()
    Application.ScreenUpdating = False
        With ActiveSheet.Range(Cells(1, 2), Cells(Cells(Rows.Count, 2).End(xlUp).Row, 2))
            .AutoFilter Field:=1, Criteria1:="x"
            .Offset(1).Resize(.Rows.Count - 1).SpecialCells(xlCellTypeVisible).EntireRow.Delete
            .AutoFilter
        End With
    Application.ScreenUpdating = True
    End Sub

    Artikel Terkait

  • Still haven't found what are you looking for

    We have provided a complete list of articles on this site to make it easier for you and giving the best solution for your excel issues

    VISIT LINK
    DMCA.com Protection Status

    excelive.com
    is a blogger resources site who provides best excel tutorial based on daily needs. The main mission of excelive is to share our little experience in excel to deliver best time killer for your excel issues.
    T.O.S
    Term of service

    Read More
    Download Area
    to complete all excel lessons, we have provided a download link for you Find Here
    Copyright © 2016 - excelive.com. Some rights reserved.
    Menyalin sebagian atau keseluruhan materi situs hanya diperbolehkan dengan tautan balik terbuka ke sumbernya.
    equipped with by blogger