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

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

Η εκτέλεση μακροεντολών κάνοντας κλικ στο κουμπί εντολών είναι μια κοινή εργασία στο Excel, αλλά, έχετε προσπαθήσει ποτέ να εκτελέσετε τους κωδικούς μακροεντολών με βάση την τιμή που επιλέγεται από την αναπτυσσόμενη λίστα; Αυτό σημαίνει, όταν επιλέγετε ένα στοιχείο από την αναπτυσσόμενη λίστα, η συγκεκριμένη μακροεντολή θα ενεργοποιείται ταυτόχρονα. Αυτό το άρθρο θα εισαγάγει έναν χρήσιμο κώδικα για την επίλυση αυτής της εργασίας.

Εκτελέστε τη μακροεντολή με βάση την τιμή που επιλέχθηκε από την αναπτυσσόμενη λίστα με τον κώδικα VBA


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

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

1. Αρχικά, δημιουργήστε μια αναπτυσσόμενη λίστα όπως χρειάζεστε, δείτε το στιγμιότυπο οθόνης:

doc run μακροεντολή από το αναπτυσσόμενο μενού 1

2. Στη συνέχεια, κάντε δεξί κλικ στην καρτέλα φύλλων που περιέχει το αναπτυσσόμενο μενού που θέλετε να χρησιμοποιήσετε και, στη συνέχεια, επιλέξτε Προβολή κωδικού από το μενού περιβάλλοντος και στο ανοιχτό Microsoft Visual Basic για εφαρμογές παράθυρο, αντιγράψτε και επικολλήστε τον ακόλουθο κώδικα στην κενή ενότητα:

Κωδικός VBA: Εκτέλεση μακροεντολής με βάση την τιμή που επιλέχθηκε από την αναπτυσσόμενη λίστα:

Private Sub Worksheet_Change(ByVal Target As Range)
	If Not Intersect(Target, Range("E1")) Is Nothing Then
	    Select Case Range("E1")
	        Case "Insert Blank rows": Macro1
	        Case "Hide All Sheets": Macro2
            Case "Convert to Date": Macro3
	    End Select
	End If
	End Sub

doc run μακροεντολή από το αναπτυσσόμενο μενού 2

Note: Στον παραπάνω κώδικα, E1 είναι το κελί περιέχει την αναπτυσσόμενη λίστα, αλλάξτε τα ονόματα των μακροεντολών και τις τιμές της αναπτυσσόμενης λίστας στις ανάγκες σας.

3. Και, στη συνέχεια, αποθηκεύστε και κλείστε αυτό το παράθυρο κώδικα, τώρα, όταν επιλέγετε το στοιχείο Εισαγωγή κενών γραμμών από την αναπτυσσόμενη λίστα, θα ενεργοποιηθεί το Macro1 και ούτω καθεξής…


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

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

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

Πώς να εκτελέσετε αυτόματα τη μακροεντολή πριν από την εκτύπωση στο Excel;

Πώς να εκτελέσετε μακροεντολή κάνοντας κλικ στους υπερσυνδέσμους στο Excel;

Πώς να εκτελέσετε μακροεντολή όταν το φύλλο έχει επιλεγεί από ένα βιβλίο εργασίας;

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

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

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

Περιγραφή


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

  • Ενεργοποίηση επεξεργασίας και ανάγνωσης καρτελών σε Word, Excel, PowerPoint, Publisher, Access, Visio και Project.
  • Ανοίξτε και δημιουργήστε πολλά έγγραφα σε νέες καρτέλες του ίδιου παραθύρου και όχι σε νέα παράθυρα.
  • Αυξάνει την παραγωγικότητά σας κατά 50% και μειώνει εκατοντάδες κλικ του ποντικιού για εσάς κάθε μέρα!
Comments (7)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Codes help me and work very fine. Thanks a lot. Is there any way to get case value in a variable and then compare?
with best regards
This comment was minimized by the moderator on the site
A co jeśli potrzebuję aby po uruchomieniu makra wszystkie listy rozwijane ustawiły się na jeden z wyborów z listy? W sumie odwrotnie do tego co jest w poście. Czy istnieje na to łatwiejszy sposób?
This comment was minimized by the moderator on the site


FIRST CODE WORKING PERFECTLYPrivate Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("D1")) Is Nothing Then
Select Case Range("D1")
         Case "0.5": Half
         Case "1": One
         Case "1.25": OneTwentyFive
End Select
End If
End Sub
SECOND CODE NOT WORKING (plz correct the below)
Private Sub Change(ByVal Target As Range)
If Not Intersect(Target, Range("D2")) Is Nothing Then
Select Case Range("D2")
         Case "9.53": ninepointfivethree
End Select
End If
End Sub
This comment was minimized by the moderator on the site
Good morning. Would you be able to do Macro from drop down menu for next: To run macro and save separated sheets for each item from Dropdown menu? In your case should be looking like this:
1. You run macro and then you have separated sheet with values for "Insert blank rows" saved in designated folder
2. Separated sheet with values for " Hide all sheets:" saved in designated folder
3. Separated sheet with values for " Convert to date" saved in designated folder.
4. Macro is done now


Mainly i am able do set all of this except that macro automatically change selection from drop down menu ?


Thanks


Ivan
This comment was minimized by the moderator on the site
Hola!

Al aplicarlo me sale un error de compilación: La declaración del procedimiento no coincide con la descripción del evento o el procedimiento que tiene el mismo nombre. Que quiere decir eso? que debo cambiar/arreglar? Gracias
This comment was minimized by the moderator on the site
Is there a way to use VBA code to do this in Access? Thanks
This comment was minimized by the moderator on the site
efectivamente funciona pero quiero aplicarlo en varias celdas, que variable debo cambiar?
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations