VBA Hapus Baris

Excel VBA Hapus Baris

Biasanya di lembar kerja excel, kami memiliki dua metode berbeda untuk menghapus baris satu menjadi pintasan keyboard dan lainnya dengan menggunakan metode klik kanan dan sisipkan tetapi di VBA kami harus menggunakan perintah hapus dan pernyataan lembar kerja untuk menghapus baris apa pun bersama-sama, trik untuk ini adalah jika kita perlu menghapus satu baris kita memberikan referensi baris tunggal tetapi untuk beberapa kolom kita memberikan referensi beberapa baris.

Menggunakan Metode Hapus VBA, kita dapat menghapus semua baris kosong, kita dapat menghapus baris berdasarkan nilai sel, kita juga dapat menghapus seluruh baris jika ada sel yang kosong.

Pada artikel ini, kita akan membahas metode "VBA Delete Row". Buat diri Anda sibuk selama 15 hingga 20 menit berikutnya untuk mempelajari konsep tersebut.

Bagaimana cara menghapus baris?

Anda dapat mengunduh Template Hapus Baris Excel VBA ini di sini - VBA Delete Row Excel Template

Contoh 1

Di VBA kita perlu menyebutkan baris yang kita hapus.

Kode:

 Sub DeleteRow_Example1 () Sel (1, 1) End Sub 

Sel (1, 1) berarti baris pertama kolom pertama yaitu sel A1. Kemudian kami menggunakan metode "hapus".

Kode:

 Sub DeleteRow_Example1 () Cells (1, 1]. Hapus End Sub 

Sekarang ini akan menghapus sel pertama. Semua nilai sisi kanan akan bergeser satu sel ke kiri.

Contoh # 2

Jika Anda ingin menghapus seluruh baris, kita perlu menggunakan properti "Seluruh Baris" maka kita perlu menggunakan metode "hapus" untuk menghapus seluruh baris sel yang telah kita pilih.

Kode:

Sub DeleteRow_Example2 () Sel (1, 1) .EntireRow. Hapus End Sub

Misalnya, saya telah memasukkan beberapa karakter di lembar excel sebagai berikut.

Sekarang jika saya menjalankan kode ini, itu akan menghapus seluruh baris, bukan satu sel.

Contoh # 3

Kita dapat menghapus baris tersebut dengan beberapa cara. Pada contoh di atas, kita telah menghapus baris dengan menggunakan properti CELLS, sekarang kita akan melihat cara menghapusnya dengan menggunakan properti ROWS.

Sekarang kita perlu menyebutkan baris apa yang perlu kita hapus, katakanlah kita perlu menghapus baris ke-5.

Sekarang gunakan properti "Seluruh Baris".

Setelah memilih properti apa yang perlu kita lakukan yaitu metode. Kita perlu menghapus baris tersebut.

Kode:

 Sub DeleteRow_Example3 () Baris (5) .EntireRow. Hapus End Sub 

Jadi, kode ini akan menghapus baris ke-5.

Contoh # 4

Hapus Beberapa Baris dengan Menggunakan Objek Rentang

Bagaimana cara kami menghapus beberapa baris?

Kita bisa menggunakan objek VBA RANGE untuk menghapus lebih dari satu baris. Asumsikan Anda memiliki beberapa nilai dari sel A1 hingga A6.

Sekarang saya ingin menghapus 5 baris pertama, jadi saya bisa mereferensikan baris-baris ini dengan menggunakan objek Range sebagai "Range (" A1: A5 ")"

Kode:

 Sub DeleteRow_Example4 () Range ("A1: A5") End Sub 

Sekarang saya ingin menggunakan kata properti "Seluruh Baris".

Kode:

 Sub DeleteRow_Example4 () Range ("A1: A5") .EntireRow End Sub 

Di seluruh baris ini, kita perlu melakukan metode penghapusan, jadi gunakan metode Hapus.

Kode:

 Sub DeleteRow_Example4 () Range ("A1: A5"). Seluruh Baris. Hapus End Sub 

Sekarang ini akan menghapus baris yang dipilih.

Contoh # 5

Hapus Baris Berdasarkan Nilai Sel

Kita juga bisa menggunakan metode "KeseluruhanRow.Delete" ini untuk menghapus baris berdasarkan nilai sel di VBA. Misalnya, saya memiliki nilai Ya & Tidak dari sel A1 hingga A10.

Sekarang kita perlu menghapus baris yang memiliki nilai “No”. Untuk melakukan tugas ini kita perlu menggunakan fungsi "IF" dengan loop untuk menghapus semua baris yang memiliki nilai "No".

Kode di bawah ini akan melakukan pekerjaan untuk kita.

Kode:

 Sub DeleteRow_Example5() Dim k As Integer For k = 10 To 1 Step -1 If Cells(k, 1).Value = "No" Then Cells(k, 1).EntireRow.Delete End If Next k End Sub 

Example #6

Delete All the Blank Cells Rows

There are situations where we need to delete the entire row if any of the cells in the range is blank. For example, I have below set of data.

All the colored cells are blank, so I need to delete the entire row. We can perform this task with two sets of code. Below is the code.

Code:

 Sub DeleteRow_Example6() Range("A1:F10").SpecialCells(xlCellTypeBlanks).EntireRow.Delete End Sub 

This will identify the blank cells in the range A1 to F10.IF any blank cells found will delete the entire row.

The problem with this code is it will only delete the blank cell’s row only in the range A1 to F10, but if any cells are blank in any other cells it will not delete. So keeping this in mind I have written one more code.

Code:

 Sub DeleteRow_Example7() Dim RangeToDelete As Range Dim DeletionRange As Range Set RangeToDelete = Application.InputBox("Please select the range", "Blank Cells Rows Deletion", Type:=8) Set DeletionRange = RangeToDelete RangeToDelete.SpecialCells(xlCellTypeBlanks).EntireRow.Delete End Sub 

When you run this code firstly it will ask you to select the range with an input box appearing in front of you.

After selecting the range you need to click on OK, it will delete all the blank cells rows in the selected range.