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

Πώς να εκκαθαρίσετε το εξαρτώμενο αναπτυσσόμενο κελί λίστας μετά την επιλογή άλλαξε στο Excel;

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

Εκκαθάριση εξαρτώμενου αναπτυσσόμενου κελιού λίστας μετά την επιλογή άλλαξε με τον κώδικα VBA


Εκκαθάριση εξαρτώμενου αναπτυσσόμενου κελιού λίστας μετά την επιλογή άλλαξε με τον κώδικα VBA

Ο παρακάτω κώδικας VBA σάς βοηθά να διαγράψετε την εξαρτώμενη αναπτυσσόμενη λίστα μετά την επιλογή αλλαγής στο Excel.

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

2. Στο άνοιγμα Microsoft Visual Basic για εφαρμογές παράθυρο, αντιγράψτε κάτω από τον κώδικα VBA στο παράθυρο.

Κωδικός VBA: καθαρή εξαρτώμενη κυψελίδα αναπτυσσόμενης λίστας μετά την επιλογή άλλαξε

Private Sub Worksheet_Change(ByVal Target As Range)
'Update by Extendoffice 2018/06/04
    Application.EnableEvents = False
    If Target.Column = 5 And Target.Validation.Type = 3 Then
        Target.Offset(0, 1).Value = ""
    End If
    Application.EnableEvents = True
End Sub

Note: Στον κωδικό, ο αριθμός 5 είναι ο αριθμός στήλης που περιέχει την αναπτυσσόμενη λίστα γονικών. Σε αυτήν την περίπτωση, η αναπτυσσόμενη λίστα του γονέα μου βρίσκεται στη στήλη Ε.

3. Πάτα το άλλος + Q πλήκτρα για να κλείσετε το Microsoft Visual Basic για εφαρμογές παράθυρο.

Από τώρα και στο εξής, όταν γίνονται αλλαγές στην αναπτυσσόμενη λίστα γονικών, τα περιεχόμενα της δεύτερης αναπτυσσόμενης λίστας θα διαγραφούν αυτόματα. Δείτε το στιγμιότυπο οθόνης:


Σχετικά άρθρα:

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

Δημοφιλή χαρακτηριστικά: Εύρεση, επισήμανση ή αναγνώριση διπλότυπων   |  Διαγραφή κενών γραμμών   |  Συνδυάστε στήλες ή κελιά χωρίς απώλεια δεδομένων   |   Γύρος χωρίς φόρμουλα ...
Σούπερ Αναζήτηση: 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 (9)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Deleting Multiple rows gives error. Any suggestions ?
This comment was minimized by the moderator on the site
I was getting errors with multiple row deletion as well as rows being deleted that shouldn't have been cleared. Below is the solution that worked for me.

Private Sub Worksheet_Change(ByVal Target As Range)
'Update by D 2022/08/23
On Error Resume Next
Application.EnableEvents = False
If Target.Column = 9 Then
If Target.Validation.Type = 3 Then
Application.EnableEvents = False
Target.Offset(0, 4).Value = ""
End If
End If

Application.EnableEvents = False
If Target.Column = 9 Then
If Target.Validation.Type = 3 Then
Application.EnableEvents = False
Target.Offset(0, 5).Value = ""
End If
End If

Application.EnableEvents = False
If Target.Column = 13 Then
If Target.Validation.Type = 3 Then
Application.EnableEvents = False
Target.Offset(0, 1).Value = ""
End If
End If

exitHandler:
Application.EnableEvents = True
Exit Sub

End Sub
This comment was minimized by the moderator on the site
I am trying to have this apply to two dependent drop downs and cannot seem to get the code right. I tried copying the code and updating the offset and using the and function and get an error each time. Any advice? I want the two columns next to the drop down to clear if it is changed instead of just one.
This comment was minimized by the moderator on the site
Hi, this is how I got it working for multiple drop downs, the "And" function didn't work for me either but this seems to. Essentially you need a different "If" statement for each drop down you want to go blank when you change the chosen value in the first drop down menu. There may be a more efficient way to do this but this worked for me!


Private Sub Worksheet_Change(ByVal Target As Range)
'Update by Extendoffice 2018/06/04
Application.EnableEvents = False
If Target.Column = 2 And Target.Validation.Type = 3 Then
Target.Offset(0, 1).Value = ""
End If
If Target.Column = 2 And Target.Validation.Type = 3 Then
Target.Offset(0, 2).Value = ""
End If
If Target.Column = 2 And Target.Validation.Type = 3 Then
Target.Offset(0, 3).Value = ""
End If
If Target.Column = 2 And Target.Validation.Type = 3 Then
Target.Offset(0, 4).Value = ""
End If
Application.EnableEvents = True
End Sub
This comment was minimized by the moderator on the site
It does not work.
This comment was minimized by the moderator on the site
Hi Marlborek,
Which Excel version are you using?
This comment was minimized by the moderator on the site
Working Perfectly
This comment was minimized by the moderator on the site
To post as a guest, your comment is unpublished.
This comment was minimized by the moderator on the site
سلام وقت شما بخیر
ما فایل اکسلی داریم که خروجیش از طریق نرم افزار همکاران سیستم هست یعنی فایل اکسل ما آنلاین به data base نرم افزار همکاران متصله(این مهم نیست برای اطلاع عرض کردم) توی این فایل فیلترهایی وجود داره که هر فیلتر یک لیست کشویی داره مشکل ما اینه که وقتی میخواهیم هر کدوم از فیلتر ها یکی از موارد لیست کشویی رو انتخاب کنیم با انتخاب لیست،لیست کشویی زود می پره یعنی بسته میشه زود و نمیشه چیزی رو انتخاب کرد،اینم بگم خدمتتون که آفیس رو حذف و نصب هم کردم بازم جواب نداد یعنی یه مدت خیلی کوتاهی جواب میده بعد به حالت قبل بر میگرده با پشتیبانی همکاران هم تماس گرفتیم گفتن مشکل از آفیستونه
(آفیسمون 2016 هست)یعنی عملا اونها هم نتونستن مشکل رو پیدا کنن.
لطفا اگه راهی هست ممنون میشم راهنماییم کنید.
با تشکر
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations