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

Πώς να κάνετε το όνομα του κουμπιού εντολών δυναμικό στο Excel;

Αυτό το άρθρο μιλάει για να κάνει το όνομα ενός κουμπιού εντολής να αλλάξει δυναμικά με μια καθορισμένη αλλαγή τιμής κελιού. Για παράδειγμα, όταν η τιμή στο κελί A1 έχει αλλάξει σε "δοκιμή", το όνομα ενός συγκεκριμένου κουμπιού εντολής θα αλλάξει σε "δοκιμή" αυτόματα.

Κάντε το όνομα του κουμπιού εντολών δυναμικό με τιμή κελιού με κωδικό VBA


Κάντε το όνομα του κουμπιού εντολών δυναμικό με τιμή κελιού με κωδικό VBA

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

1. κλικ Εργολάβος > Κύριο θέμα > Κουμπί εντολών (ActiveX Control) για να εισαγάγετε ένα κουμπί εντολής στο φύλλο εργασίας. Δείτε το στιγμιότυπο οθόνης:

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

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

Κωδικός VBA: Κάντε το όνομα του κουμπιού εντολών δυναμικό με την τιμή κελιού

Dim xStr As String
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim xShapeRg As ShapeRange
    On Error Resume Next
    If Not Application.Intersect(Target, Range("A1")) Is Nothing Then
        Me.CommandButton1.Caption = Target.Text
        Set xShapeRg = ActiveSheet.Shapes.Range(xStr)
        If xShapeRg Is Nothing Then Set xShapeRg = ActiveSheet.Shapes.Range("CommandButton1")
        Application.EnableEvents = False
        xShapeRg.Select
        Application.EnableEvents = True
        Selection.Name = Target.Text
    End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If (Not Intersect(Target, Range("A1")) Is Nothing) And Target.Text <> "" Then
        xStr = Target.Text
    End If
End Sub

Note: στον κώδικα, CommandButton1 είναι το όνομα του κουμπιού που θέλετε να κάνετε το όνομά του δυναμικό και A1 είναι το κελί στο οποίο θα αναφέρετε την τιμή στο όνομα του κουμπιού αυτόματα.

4. Πάτα το άλλος + Q πλήκτρα για έξοδο από το Microsoft Visual Basic για εφαρμογές παράθυρο.

5. Απενεργοποιήστε τη λειτουργία σχεδίασης κάνοντας κλικ Εργολάβος > Λειτουργία σχεδίασης.

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

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


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

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

🤖 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 (2)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Can anyone suggest how I would extend the VBA to additionally assign a macro to the command button so clicking the command button would execute a macro associated with the command button name? For example, after renaming the command button to "XYZ", also assign the macro named "XYZ" to the command button click event. Thank you for any help.
This comment was minimized by the moderator on the site
Hi sam,
Please try as follows.
1. Turn on the Design Mode by clicking Developer > Design Mode.
2. Right click the command button and select View Code in the context menu;
3. Assign your macro between line Private Sub CommandButton1_Click() and End Sub;
4. Turn off the Design Mode

Hope I can help.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations