Μετάβαση στο κύριο περιεχόμενο

Πώς να αφαιρέσετε σειρές με βάση την τιμή κελιού στο Excel;

Για γρήγορη διαγραφή ή κατάργηση πολλαπλών σειρών με βάση την τιμή κελιού στο Excel, ίσως χρειαστεί να επιλέξετε πρώτα ολόκληρες τις σειρές που περιέχουν συγκεκριμένη τιμή κελιού και, στη συνέχεια, να τις καταργήσετε. Φαίνεται ότι δεν υπάρχει ένας γρήγορος τρόπος διαγραφής σειρών με βάση την τιμή του κελιού, αλλά χρησιμοποιώντας τον κώδικα VBA. Εδώ είναι μερικά γρήγορα κόλπα για να σας βοηθήσουμε.


Καταργήστε σειρές με βάση την τιμή κελιού με τη δυνατότητα Εύρεση και αντικατάστασης

Στο Excel, μπορείτε να εφαρμόσετε την ισχυρή δυνατότητα εύρεσης και αντικατάστασης για να αφαιρέσετε εύκολα γραμμές με βάση μια συγκεκριμένη τιμή κελιού. Κάντε τα εξής:

1. Επιλέξτε το εύρος όπου θα αφαιρέσετε σειρές με βάση συγκεκριμένη τιμή κελιού και ανοίξτε το παράθυρο διαλόγου Εύρεση και αντικατάσταση πατώντας το Ctrl + F ταυτόχρονα.

2. Στο παράθυρο διαλόγου Εύρεση και αντικατάσταση, πληκτρολογήστε τη συγκεκριμένη τιμή κελιού (στην περίπτωσή μας, εισάγουμε το Σο) μέσα στο Find what και κάντε κλικ στο Find All κουμπί. Δείτε το πρώτο στιγμιότυπο οθόνης παρακάτω:

3. Επιλέξτε όλα τα αποτελέσματα αναζήτησης στο κάτω μέρος του πλαισίου διαλόγου Εύρεση και αντικατάσταση και κλείστε αυτό το πλαίσιο διαλόγου. (Note: Μπορείτε να επιλέξετε ένα από τα αποτελέσματα αναζήτησης και μετά Ctrl + A πλήκτρα για να επιλέξετε όλα τα αποτελέσματα που βρέθηκαν. Δείτε το δεύτερο στιγμιότυπο οθόνης παραπάνω.)
Και μετά μπορείτε να δείτε όλα τα κελιά που περιέχουν τη συγκεκριμένη τιμή είναι επιλεγμένα.

4. Προχωρήστε για να κάνετε δεξί κλικ σε επιλεγμένα κελιά και επιλέξτε το Delete από το μενού με δεξί κλικ. Και μετά ελέγξτε το Entire row επιλογή στο αναδυόμενο παράθυρο διαλόγου Διαγραφή και κάντε κλικ στο OK κουμπί. Τώρα θα δείτε όλα τα κελιά που περιέχουν τη συγκεκριμένη τιμή να αφαιρούνται. Δείτε στιγμιότυπα οθόνης παρακάτω:

Και τότε ολόκληρες σειρές έχουν διαγραφεί με βάση τη συγκεκριμένη τιμή ήδη.


Καταργήστε σειρές με βάση την τιμή κελιού με τον κώδικα VBA

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

1. πάτα το Alt + F11 ταυτόχρονα για να ανοίξετε Microsoft Visual Basic for applications παράθυρο,

2. Κλίκ Insert > Moduleκαι εισαγάγετε τον ακόλουθο κώδικα στην Ενότητα:

VBA: Κατάργηση ολόκληρων σειρών με βάση την τιμή κελιού

Sub DeleteRows()
'Updateby20211217
Dim rng As Range
Dim InputRng As Range
Dim DeleteRng As Range
Dim DeleteStr As String
Dim xTitleId As String
Dim xArr
Dim xF As Integer
Dim xWSh As Worksheet
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set rng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, rng.Address, Type:=8)
If InputRng Is Nothing Then Exit Sub
DeleteStr = Application.InputBox("Delete Text", xTitleId, Type:=2)
Set xWSh = InputRng.Worksheet
For Each rng In InputRng
    If rng.Value = DeleteStr Then
        If DeleteRng Is Nothing Then
            Set DeleteRng = rng
        Else
            Set DeleteRng = Application.Union(DeleteRng, rng)
            Set DeleteRng = DeleteRng.EntireRow
        End If
    End If
Next
xArr = Split(DeleteRng.AddressLocal, ",")
DeleteRng.Select
DeleteRng.Delete
For xF = UBound(xArr) To 0 Step -1
    Set DeleteRng = xWSh.Range(xArr(xF))
    DeleteRng.Delete
Next
End Sub

3. Στη συνέχεια, κάντε κλικ στο Run κουμπί για να εκτελέσετε τον κωδικό.

4. Στο αναδυόμενο παράθυρο διαλόγου, επιλέξτε το εύρος όπου θα καταργήσετε τις σειρές με βάση τη συγκεκριμένη τιμή και κάντε κλικ στο OK κουμπί.

5. Σε ένα άλλο παράθυρο διαλόγου, πληκτρολογήστε τη συγκεκριμένη τιμή στην οποία θα αφαιρέσετε τις γραμμές βάσει και κάντε κλικ στο OK κουμπί. Δείτε το στιγμιότυπο οθόνης:

Και τότε θα δείτε ότι ολόκληρες σειρές έχουν διαγραφεί βάσει της καθορισμένης τιμής ήδη.


Καταργήστε σειρές με βάση ένα ή δύο τιμές κελιών με το Kutools για Excel

Εάν έχετε εγκαταστήσει Kutools for Excel, της Select Specific Cells Η δυνατότητα μπορεί να σας βοηθήσει να διαγράψετε γρήγορα τις σειρές με συγκεκριμένη τιμή. Κάντε τα εξής:

Kutools για Excel - Supercharge Excel με πάνω από 300 βασικά εργαλεία. Απολαύστε μια ΔΩΡΕΑΝ δοκιμή 30 ημερών με πλήρεις δυνατότητες χωρίς να απαιτείται πιστωτική κάρτα! Παρ'το Τώρα

1. Επιλέξτε το εύρος που θα καταργήσετε σειρές με βάση τη συγκεκριμένη τιμή και κάντε κλικ στο Kutools > Select > Select Specific Cells. Δείτε το στιγμιότυπο οθόνης:

2. Στο πλαίσιο διαλόγου Επιλογή καθορισμένων κελιών, ελέγξτε Entire row επιλογή, επιλέξτε Contains από Specific type αναπτυσσόμενη λίστα, εισαγάγετε την καθορισμένη τιμή στο δεξί πλαίσιο και κάντε κλικ στο Ok κουμπί (Δείτε το παραπάνω στιγμιότυπο οθόνης).
Μετά την εφαρμογή αυτής της δυνατότητας, θα εμφανιστεί ένα παράθυρο διαλόγου και θα σας δείξει πόσα κελιά έχουν βρεθεί με βάση τα καθορισμένα κριτήρια. Κάντε κλικ στο OK για να το κλείσετε.

3. Τώρα επιλέγονται ολόκληρες σειρές με τη συγκεκριμένη τιμή. Κάντε δεξί κλικ στις επιλεγμένες σειρές και κάντε κλικ στο Delete από το μενού με δεξί κλικ. Δείτε το στιγμιότυπο οθόνης παρακάτω:

Note: Αυτό Select Specific Cells Η δυνατότητα υποστηρίζει τη διαγραφή σειρών κατά μία ή δύο συγκεκριμένες τιμές. Για τη διαγραφή σειρών βάσει δύο καθορισμένων τιμών, προσδιορίστε μια άλλη τιμή στο Specific type ενότητα του πλαισίου διαλόγου Επιλογή συγκεκριμένων κελιών όπως φαίνεται το ακόλουθο στιγμιότυπο οθόνης:

Kutools για Excel - Supercharge Excel με πάνω από 300 βασικά εργαλεία. Απολαύστε μια ΔΩΡΕΑΝ δοκιμή 30 ημερών με πλήρεις δυνατότητες χωρίς να απαιτείται πιστωτική κάρτα! Παρ'το Τώρα


Καταργήστε σειρές με βάση πολλές τιμές κελιών με το Kutools για Excel

Σε ορισμένες περιπτώσεις, ενδέχεται να χρειαστεί να καταργήσετε σειρές με βάση πολλές τιμές κελιών από μια άλλη στήλη / λίστα στο Excel. Εδώ θα σας παρουσιάσω Kutools for Excel's Select Same & Different Cells χαρακτηριστικό για γρήγορη επίλυση με ευκολία.

Kutools για Excel - Supercharge Excel με πάνω από 300 βασικά εργαλεία. Απολαύστε μια ΔΩΡΕΑΝ δοκιμή 30 ημερών με πλήρεις δυνατότητες χωρίς να απαιτείται πιστωτική κάρτα! Παρ'το Τώρα

1. Κλίκ Kutools > Select > Select Same & Different Cells για να ανοίξετε το παράθυρο διαλόγου Select Same & Different Cells.

2. Στο άνοιγμα Select Same & Different Cells πλαίσιο διαλόγου, κάντε τα εξής (δείτε το στιγμιότυπο οθόνης):

(1) Στο Find values in πλαίσιο, επιλέξτε τη στήλη όπου θα βρείτε τις συγκεκριμένες τιμές.
(2) Στο According to πλαίσιο, επιλέξτε τη στήλη / λίστα με πολλές τιμές στις οποίες θα διαγράψετε σειρές με βάση?
(3) Στο Based on ενότητα, παρακαλούμε ελέγξτε το Each row επιλογή;
(4) Στο Find ενότητα, παρακαλούμε ελέγξτε το Same Values επιλογή;
(5) Ελέγξτε το Select entire rows επιλογή στο κάτω μέρος του ανοίγματος διαλόγου.
Note: Εάν δύο καθορισμένες στήλες περιέχουν την ίδια κεφαλίδα, ελέγξτε το My data has headers επιλογή.

3. Κάντε κλικ στο Ok κουμπί για να εφαρμόσετε αυτό το βοηθητικό πρόγραμμα. Και έπειτα βγαίνει ένα παράθυρο διαλόγου και δείχνει πόσες σειρές έχουν επιλεγεί. Απλώς κάντε κλικ στο OK για να το κλείσετε.

Και τότε έχουν επιλεγεί όλες οι σειρές που περιέχουν τιμές μεταξύ της καθορισμένης λίστας.

4. Κλίκ Home > Delete > Delete Sheet Rows για να διαγράψετε όλες τις επιλεγμένες σειρές.


Επίδειξη: κατάργηση σειρών με βάση μία ή περισσότερες τιμές κελιών στο Excel


Kutools για Excel: Πάνω από 300 εύχρηστα εργαλεία στα χέρια σας! Ξεκινήστε τη δωρεάν δοκιμή 30 ημερών χωρίς περιορισμούς δυνατοτήτων σήμερα. Κατεβάστε τώρα!

Τα καλύτερα εργαλεία παραγωγικότητας γραφείου

Δημοφιλή χαρακτηριστικά: Εύρεση, επισήμανση ή αναγνώριση διπλότυπων   |  Διαγραφή κενών γραμμών   |  Συνδυάστε στήλες ή κελιά χωρίς απώλεια δεδομένων   |   Γύρος χωρίς φόρμουλα ...
Σούπερ Αναζήτηση: VLookup πολλαπλών κριτηρίων    VLookup πολλαπλών τιμών  |   VLookup σε πολλά φύλλα   |   Ασαφής αναζήτηση ....
Σύνθετη αναπτυσσόμενη λίστα: Γρήγορη δημιουργία αναπτυσσόμενης λίστας   |  Εξαρτημένη αναπτυσσόμενη λίστα   |  Πολλαπλή αναπτυσσόμενη λίστα ....
Διαχειριστής στήλης: Προσθέστε έναν συγκεκριμένο αριθμό στηλών  |  Μετακίνηση στηλών  |  Εναλλαγή κατάστασης ορατότητας κρυφών στηλών  |  Συγκρίνετε εύρη και στήλες ...
Επιλεγμένα Χαρακτηριστικά: Εστίαση πλέγματος   |  Προβολή σχεδίου   |   Μεγάλη Formula Bar    Διαχείριση βιβλίου εργασίας & φύλλου   |  Βιβλιοθήκη πόρων (Αυτόματο κείμενο)   |  Επιλογή ημερομηνίας   |  Συνδυάστε φύλλα εργασίας   |  Κρυπτογράφηση/Αποκρυπτογράφηση κελιών    Αποστολή email ανά λίστα   |  Σούπερ φίλτρο   |   Ειδικό φίλτρο (φίλτρο με έντονη γραφή/πλάγια γραφή/διαγραφή...) ...
Κορυφαία 15 σύνολα εργαλείων12 Κείμενο Εργαλεία (Προσθήκη κειμένου, Κατάργηση χαρακτήρων, ...)   |   50 + Διάγραμμα Τύποι (Gantt διάγραμμα, ...)   |   40+ Πρακτικό ΜΑΘΗΜΑΤΙΚΟΙ τυποι (Υπολογίστε την ηλικία με βάση τα γενέθλια, ...)   |   19 Εισαγωγή Εργαλεία (Εισαγωγή κωδικού QR, Εισαγωγή εικόνας από το μονοπάτι, ...)   |   12 Μετατροπή Εργαλεία (Αριθμοί σε λέξεις, Μετατροπή Συναλλάγματος, ...)   |   7 Συγχώνευση & διαχωρισμός Εργαλεία (Σύνθετες σειρές συνδυασμού, Διαίρεση κελιών, ...)   |   ... κι αλλα

Αυξήστε τις δεξιότητές σας στο Excel με τα Kutools για Excel και απολαύστε την αποτελεσματικότητα όπως ποτέ πριν. Το Kutools για Excel προσφέρει πάνω από 300 προηγμένες δυνατότητες για την ενίσχυση της παραγωγικότητας και την εξοικονόμηση χρόνου.  Κάντε κλικ εδώ για να αποκτήσετε τη δυνατότητα που χρειάζεστε περισσότερο...

kte καρτέλα 201905


Το Office Tab φέρνει τη διεπαφή με καρτέλες στο Office και κάνει την εργασία σας πολύ πιο εύκολη

  • Ενεργοποίηση επεξεργασίας και ανάγνωσης καρτελών σε Word, Excel, PowerPoint, Publisher, Access, Visio και Project.
  • Ανοίξτε και δημιουργήστε πολλά έγγραφα σε νέες καρτέλες του ίδιου παραθύρου και όχι σε νέα παράθυρα.
  • Αυξάνει την παραγωγικότητά σας κατά 50% και μειώνει εκατοντάδες κλικ του ποντικιού για εσάς κάθε μέρα!
Comments (39)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
In given range, if any cell contains defined text the entire row gets deleted.

Pls share code
This comment was minimized by the moderator on the site
Hi Yogesh,
On this webpage, the second method is to delete rows by cell values with VBA code. You can go to there and copy the code directly!
https://www.extendoffice.com/documents/excel/815-excel-remove-rows-based-on-cell-value.html#vba
This comment was minimized by the moderator on the site
There are two issues with the code posted as of this date. 1) the variable xTitleId is not declared, which causes a compilation error if Option Explicit is in use. 2) With Excel 2016, it appears that a range is limited to 129 areas. Each discontiguous matching cell found in the loop creates another area in the DeleteRng variable. Unfortunately, the Union method does not raise an error if that number of areas is exceeded; it just ignores the remaining cells. When the loop is finished, DeleteRng will have no more than 129 areas.
This comment was minimized by the moderator on the site
Hi TomTheToolman,
Thank you so much for your feedback. I've already updated the new code in the article. If you have any other questions, please don't hesitate to let me know.
Amanda
This comment was minimized by the moderator on the site
very well. Thank you!
This comment was minimized by the moderator on the site
Can someone help me...If 3rd column has value 0, then delete all values of corresponding column 1st. In this case answer should be the last line only.... Check MenuName ID 3149 VNLA MILFLLE 2 3149 TURKEY PNN 0 3149 R. BEEF PNN 0 3149 MIX MOCHA 38 3150 M.G.R 1/2 0 3150 THE PEPPE L 0 3150 MIX SLD 0 3150 EGGPLANT 0 3150 STILL WATER 7 3151 MIX MOCHA 38
This comment was minimized by the moderator on the site
Thanks for sharing. I am actually looking for a code that doesn't ask user for range but instead selects a specific column say column "A" and runs till the last row of that column. Can you please help..
This comment was minimized by the moderator on the site
Hi everybody, I am wondering what can we do to delete the following (According to the example shown in this page): Soe appears at several date (sept, October... etc). What I would like is to delete the line where Soe is but to keep the line with last date she appeared. In addition, some lines could be in double but I still want to keep it. So for example, you have the lines: - July 3 /Soe - Sep 4 / Soe - Sep 4 / Soe - Oct 19/ Soe - Nov 13 / Soe - Nov 13 / Soe and what I want to keep is: - Nov 13 / Soe - Nov 13 / Soe My real case is: I have different EAN code and version 1, 2, 3 or 4 and I want to keep the line where the version is the higher. e.g.: I have: - EAN 1 / Version 1 - EAN 1 / Version 1 - EAN 1 / Version 2 - EAN 1 / Version 2 - EAN 2 / Version 2 - EAN 2 / Version 3 - EAN 2 / Version 3 and I want to keep: - EAN 1 / Version 2 - EAN 1 / Version 2 - EAN 2 / Version 3 - EAN 2 / Version 3 I am searching since hours and I am completely blocked on this issue. Many thanks in advance for your brain and help. Best, Marion
This comment was minimized by the moderator on the site
Hi, Thank you this was really helpful. However, there's an error that pops up when I run the codes it says "Object variable or with block variable not set" and it points to " the line DeleteRNG.EntireRow.Delete". Could you please help me with debugging this. Thanks.
This comment was minimized by the moderator on the site
I am trying to use this macro in order to delete unused formulas, because excel views blank formula cells as a zero value and will print extra pages. I was hoping when I deleted the unused formulas, when I printed it would only print the pages that had information. This is not the case and I really need help to find a solution. I have tried using this formula and it is not working and prints three extra pages that I do not need even with the extra formulas being deleted. Sub selectonly() ' ' selectonly Macro ' Range("A1").Select Range(Selection, Selection.End(xlToRight)).Select Range(Selection, Selection.End(xlDown)).Select ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,2,,,TRUE,,FALSE)" End Sub
This comment was minimized by the moderator on the site
thank you so much. That save me a lot of time
This comment was minimized by the moderator on the site
Trying to find a delete Function that will delete entire designated rows automatically, based on certain values or certain text contained in other cell(s), using only automated formulas.
This comment was minimized by the moderator on the site
How can i delete selected cell that i want based on value that i entered for example : A1 B1 C1 D1 A2 B2 C2 D2 A3 B3 C3 D3 A4 B4 C4 D4 When i entered in some cell for example "2" then 2 row will be deleted from A3:D4. If i entered "1" then 1 row will be deleted from A4:D4. if i entered "3" then 3 row will be deleted from A2:D4
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations