Διαγραφή σειρών VBA - Παραδείγματα διαγραφής σειρών Excel χρησιμοποιώντας VBA

Πίνακας περιεχομένων

Excel VBA Διαγραφή σειράς

Κανονικά στο φύλλο εργασίας excel, έχουμε δύο διαφορετικές μεθόδους για τη διαγραφή σειρών, μία είναι η συντόμευση πληκτρολογίου και μια άλλη χρησιμοποιώντας τη μέθοδο δεξιού κλικ και εισαγωγής, αλλά στο VBA πρέπει να χρησιμοποιήσουμε τη δήλωση εντολής διαγραφής και φύλλου εργασίας για να διαγράψουμε όλες τις σειρές μαζί, το τέχνασμα Αυτό είναι ότι αν χρειαστεί να διαγράψουμε μία σειρά δίνουμε μια αναφορά μιας γραμμής αλλά για τις πολλαπλές στήλες δίνουμε πολλές αναφορές σειρών.

Χρησιμοποιώντας τη μέθοδο VBA Delete Row, μπορούμε να διαγράψουμε όλες τις κενές γραμμές και μπορούμε να διαγράψουμε τη σειρά με βάση την τιμή του κελιού. Μπορούμε επίσης να διαγράψουμε ολόκληρη τη σειρά εάν κάποιο από τα κελιά είναι κενά.

Σε αυτό το άρθρο, θα συζητήσουμε τη μέθοδο "VBA Delete Row". Παραμείνετε απασχολημένοι για τα επόμενα 15 έως 20 λεπτά για να μάθετε για την ιδέα.

Πώς να διαγράψετε τη σειρά;

Παράδειγμα # 1

Στο VBA, πρέπει να αναφέρουμε τη σειρά που διαγράφουμε.

Κώδικας:

Sub DeleteRow_Example1 () Cells (1, 1) End Sub

Κελιά (1, 1) σημαίνει πρώτη στήλη πρώτης σειράς, δηλαδή κελί Α1. Στη συνέχεια, χρησιμοποιούμε τη μέθοδο "διαγραφή".

Κώδικας:

Sub DeleteRow_Example1 () Cells (1, 1). Διαγραφή End Sub

Τώρα αυτό θα διαγράψει το πρώτο κελί. Όλες οι τιμές της δεξιάς πλευράς θα μετατοπίσουν ένα κελί προς τα αριστερά.

Παράδειγμα # 2

Εάν θέλετε να διαγράψετε ολόκληρη τη σειρά, πρέπει να χρησιμοποιήσουμε την ιδιότητα "EntireRow", τότε πρέπει να χρησιμοποιήσουμε τη μέθοδο "διαγραφή" για να διαγράψουμε ολόκληρη τη σειρά του κελιού που έχουμε επιλέξει.

Κώδικας:

Sub DeleteRow_Example2 () Cells (1, 1). EntireRow. Διαγραφή End Sub

Για παράδειγμα, έχω εισαγάγει μερικούς χαρακτήρες σε ένα φύλλο excel ως εξής.

Τώρα, αν εκτελέσω αυτόν τον κώδικα, θα διαγράψει ολόκληρη τη σειρά και όχι ένα κελί.

Παράδειγμα # 3

Μπορούμε να διαγράψουμε τη σειρά χρησιμοποιώντας διάφορους τρόπους. Στο παραπάνω παράδειγμα, διαγράψαμε τη σειρά χρησιμοποιώντας την ιδιότητα CELLS. Τώρα θα δούμε πώς να διαγράψετε χρησιμοποιώντας την ιδιότητα ROWS.

Τώρα πρέπει να αναφέρουμε ποια είναι η σειρά που πρέπει να διαγράψουμε. Ας πούμε ότι πρέπει να διαγράψουμε την σειρά.

Τώρα χρησιμοποιήστε την ιδιότητα "EntireRow".

Αφού επιλέξετε την ιδιότητα, τι πρέπει να κάνουμε, δηλαδή, μέθοδος. Πρέπει να διαγράψουμε τη σειρά.

Κώδικας:

Sub DeleteRow_Example3 () Σειρές (5) .EntireRow. Διαγραφή End Sub

Έτσι, αυτός ο κωδικός θα διαγράψει την σειρά.

Παράδειγμα # 4

Διαγράψτε πολλές σειρές χρησιμοποιώντας το αντικείμενο εύρους

Πώς διαγράφουμε πολλές σειρές;

Μπορούμε να χρησιμοποιήσουμε το αντικείμενο VBA RANGE για να διαγράψουμε περισσότερες από μία σειρές. Ας υποθέσουμε ότι έχετε κάποιες τιμές από τα κελιά A1 έως A6.

Τώρα θέλω να διαγράψω τις πρώτες 5 σειρές, οπότε μπορώ να αναφέρω αυτές τις σειρές χρησιμοποιώντας το αντικείμενο Range ως "Range (" A1: A5 ")"

Κώδικας:

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

Τώρα θέλω να χρησιμοποιήσω τη λέξη "EntireRow".

Κώδικας:

Sub DeleteRow_Example4 () Εύρος ("A1: A5"). Ολόκληρο Sub EndRow

Σε ολόκληρη τη σειρά, πρέπει να εκτελέσουμε τη μέθοδο διαγραφής, επομένως χρησιμοποιήστε τη μέθοδο Διαγραφή.

Κώδικας:

Sub DeleteRow_Example4 () Εύρος ("A1: A5"). ΟλόκληροRow.Delete End Sub

Τώρα αυτό θα διαγράψει τις επιλεγμένες σειρές.

Παράδειγμα # 5

Delete Rows Based On Cell Value

We can also use this “EntireRow.Delete” method to delete the row based on cell value in VBA. For example, I have Yes & No values from cell A1 to A10.

Now we need to delete the rows which have the value “No.” To perform this task, we need to use the function “IF” with loops to delete all the rows which have the value of “No.”

The below code will do the job for us.

Code:

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 are 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 are found, they 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 ("Παρακαλούμε επιλέξτε το εύρος", "Blank Cells Rows Deletion", Type: = 8) Set DeletionRange = RangeToDelete RangeToDelete.SpecialCell. . Διαγραφή End Sub

Όταν εκτελείτε αυτόν τον κωδικό, πρώτα, θα σας ζητήσει να επιλέξετε το εύρος με ένα πλαίσιο εισόδου να εμφανίζεται μπροστά σας.

Αφού επιλέξετε το εύρος, πρέπει να κάνετε κλικ στο OK. Θα διαγράψει όλες τις κενές σειρές κελιών στο επιλεγμένο εύρος.

ενδιαφέροντα άρθρα...