Note: The other languages of the website are Google-translated. Back to English

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

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

Ενεργοποιήστε ή εκτελέστε μια μακροεντολή κάνοντας κλικ σε ένα συγκεκριμένο κελί με κώδικα VBA


Ενεργοποιήστε ή εκτελέστε μια μακροεντολή κάνοντας κλικ σε ένα συγκεκριμένο κελί με κώδικα VBA

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

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

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

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

Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Selection.Count = 1 Then
        If Not Intersect(Target, Range("D4")) Is Nothing Then
            Call MyMacro
        End If
    End If
End Sub

Notes:

1. Στον κώδικα, το D4 είναι το κελί που θα κάνετε κλικ για να εκτελέσετε το Macro.

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

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

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


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


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

Το Kutools για Excel λύνει τα περισσότερα από τα προβλήματά σας και αυξάνει την παραγωγικότητά σας κατά 80%

  • Επαναχρησιμοποίηση: Εισαγάγετε γρήγορα σύνθετοι τύποι, γραφήματα και οτιδήποτε έχετε χρησιμοποιήσει στο παρελθόν. Κρυπτογράφηση κυττάρων με κωδικό πρόσβασης Δημιουργία λίστας αλληλογραφίας και στείλτε email ...
  • Super Formula Bar (επεξεργαστείτε εύκολα πολλές γραμμές κειμένου και τύπου). Διάταξη ανάγνωσης (εύκολη ανάγνωση και επεξεργασία μεγάλου αριθμού κελιών). Επικόλληση σε φιλτραρισμένο εύρος...
  • Συγχώνευση κελιών / σειρών / στηλών χωρίς απώλεια δεδομένων · Περιεχόμενο διαχωρισμού κελιών Συνδυάστε διπλές σειρές / στήλες... Αποτροπή διπλών κυττάρων; Συγκρίνετε τα εύρη...
  • Επιλέξτε Διπλότυπο ή Μοναδικό Σειρές; Επιλέξτε Κενές σειρές (όλα τα κελιά είναι κενά). Σούπερ εύρεση και ασαφής εύρεση σε πολλά βιβλία εργασίας. Τυχαία επιλογή ...
  • Ακριβές αντίγραφο Πολλαπλά κελιά χωρίς αλλαγή της αναφοράς τύπου. Αυτόματη δημιουργία αναφορών σε πολλαπλά φύλλα? Εισαγωγή κουκκίδων, Πλαίσια ελέγχου και άλλα ...
  • Εξαγωγή κειμένου, Προσθήκη κειμένου, Κατάργηση κατά θέση, Αφαιρέστε το διάστημα; Δημιουργία και εκτύπωση υποσύνολων σελιδοποίησης. Μετατροπή περιεχομένου και σχολίων μεταξύ κελιών...
  • Σούπερ φίλτρο (αποθηκεύστε και εφαρμόστε σχήματα φίλτρων σε άλλα φύλλα). Προηγμένη ταξινόμηση ανά μήνα / εβδομάδα / ημέρα, συχνότητα και άλλα. Ειδικό φίλτρο με έντονη, πλάγια ...
  • Συνδυάστε βιβλία εργασίας και φύλλα εργασίας; Συγχώνευση πινάκων βάσει βασικών στηλών. Διαχωρίστε τα δεδομένα σε πολλά φύλλα; Μαζική μετατροπή xls, xlsx και PDF...
  • Περισσότερα από 300 ισχυρά χαρακτηριστικά. Υποστηρίζει Office / Excel 2007-2021 και 365. Υποστηρίζει όλες τις γλώσσες. Εύκολη ανάπτυξη στην επιχείρηση ή τον οργανισμό σας. Πλήρεις δυνατότητες δωρεάν δοκιμής 30 ημερών. Εγγύηση επιστροφής χρημάτων 60 ημερών.
kte καρτέλα 201905

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

  • Ενεργοποίηση επεξεργασίας και ανάγνωσης καρτελών σε Word, Excel, PowerPoint, Publisher, Access, Visio και Project.
  • Ανοίξτε και δημιουργήστε πολλά έγγραφα σε νέες καρτέλες του ίδιου παραθύρου και όχι σε νέα παράθυρα.
  • Αυξάνει την παραγωγικότητά σας κατά 50% και μειώνει εκατοντάδες κλικ του ποντικιού για εσάς κάθε μέρα!
κάτω μέρος γραφείου
Σχόλια (37)
Δεν υπάρχουν ακόμη βαθμολογίες. Γίνε ο πρώτος που θα αξιολογήσετε!
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Ενεργοποιήστε ή εκτελέστε μια μακροεντολή κάνοντας κλικ σε ένα συγκεκριμένο κελί με κώδικα VBA, δεν ήταν δυνατή η εκτέλεση αυτής της λειτουργίας. Το δοκίμασα με πολλούς διαφορετικούς τρόπους, αλλά ποτέ δεν πέτυχε αυτό που υποσχέθηκα.
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Αυτός ο κωδικός θα λειτουργήσει μόνο εάν τον τοποθετήσετε στη μονάδα "ThisWorkbook". Δεν λειτουργεί σε μια γενική ενότητα.
Όνομα βιβλίου εργασίας > Αντικείμενα του Microsft Excel > Αυτό το βιβλίο εργασίας.
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Αυτός ο κώδικας θα λειτουργεί στη μονάδα κώδικα φύλλου εργασίας. Πρέπει να κάνετε δεξί κλικ στην καρτέλα του φύλλου και να κάνετε κλικ στην «Προβολή κώδικα». Αυτό θα ανοίξει τη μονάδα κώδικα μόνο για αυτό το φύλλο εργασίας. Στη συνέχεια επικολλήστε τον αναφερόμενο κωδικό.
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Εάν θέλετε να έχετε πολλές μακροεντολές, κελιά που εκτελούν διαφορετικές μακροεντολές στην ίδια σελίδα - είναι αυτό δυνατό;
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Αγαπητέ Simon,
Το παρακάτω σενάριο VBA μπορεί να σας βοηθήσει να εκτελέσετε διαφορετικές μακροεντολές κάνοντας κλικ σε κελιά στην ίδια σελίδα.

Ιδιωτικό δευτερεύον φύλλο εργασίας_SelectionChange(Στόχος ByVal ως εύρος)
Αν Target.Count = 1 Τότε
Εάν δεν διασταυρώνεται (Στόχος, Εύρος ("D4")) Δεν είναι τίποτα, τότε καλέστε το MyMacro1
Εάν δεν διασταυρώνεται (Στόχος, Εύρος ("D8")) Δεν είναι τίποτα, τότε καλέστε το MyMacro2
Εάν δεν διασταυρώνεται (Στόχος, Εύρος ("D10")) Δεν είναι τίποτα, τότε καλέστε το MyMacro3
End If
Sub End

Προσθέστε τη γραμμή "If Not Intersect(Target, Range("D10")) Is Nothing then Call MyMacro" για να εκτελέσετε περισσότερες μακροεντολές κάνοντας κλικ στο κελί. Και αλλάξτε τα ονόματα κελιών και μακροεντολών στον κώδικα με βάση τις ανάγκες σας.
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Δεν λειτουργεί στο Excel μου. Ο κωδικός είναι σωστός;
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια σου Καμίλα,
Συγγνώμη για την ταλαιπωρία. Δοκιμάστε τον παρακάτω κώδικα VBA.

Ιδιωτικό δευτερεύον φύλλο εργασίας_SelectionChange(Στόχος ByVal ως εύρος)
Dim xRgArr ως παραλλαγή
Dim xFunArr ως παραλλαγή
Dim xFNum ως ακέραιος αριθμός
Dim xStr ως συμβολοσειρά
Dim xRg ως εύρος
xRgArr = Array("A1", "D1", "C1") 'Κελιά που χρησιμοποιούνται για την ενεργοποίηση μακροεντολών
xFunArr = Array("Κωδικό όνομα1", "Κωδικό όνομα2", "Κωδικό όνομα3") 'Τα αντίστοιχα κωδικά ονόματα
Αν Selection.Count = 1 Τότε
Για xFNum = 0 σε UBound(xRgArr)
Ορισμός xRg = ActiveSheet.Range(xRgArr(xFNum))
If Not Intersect(Target, xRg) Is Nothing then
xStr = xFunArr(xFNum)
Εφαρμογή.Εκτέλεση xStr
End If
Επόμενο
End If
Sub End
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Αυτό λειτούργησε τέλεια και θα μου εξοικονομήσει πολύ χρόνο - σας ευχαριστώ που μοιραστήκατε τις γνώσεις σας - εκτιμώ πολύ!
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Χαίρομαι που μπόρεσα να βοηθήσω.
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Μεγάλος. Λειτουργεί καλά... Ευχαριστώ....
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια.

Αυτό λειτουργεί καλά, αλλά θα ήθελα να προσθέσω μια συνθήκη για την εκτέλεση της μακροεντολής. Θέλω να εκτελέσω τη μακροεντολή μόνο εάν το κελί δίπλα στο κελί στο οποίο κάνω κλικ περιέχει μια συγκεκριμένη τιμή.
π.χ. Όταν κάνω κλικ στο κελί F6, θέλω η μακροεντολή να εκτελείται εάν το κελί Ε6 περιέχει "x", αλλά εάν το κελί Ε6 είναι κενό, η μακροεντολή δεν πρέπει να εκτελείται.
Η ελπίδα είναι λογική.
Ευχαριστώ

εδώ είναι ο αρχικός μου κωδικός χωρίς την προϋπόθεση:


Επιλογή ρητή

Ιδιωτικό δευτερεύον φύλλο εργασίας_SelectionChange(Στόχος ByVal ως εύρος)
Αν Selection.Count = 1 Τότε
Εάν δεν διασταυρώνεται (Στόχος, Εύρος ("F6:F18")) Δεν είναι τίποτα τότε
Call datePick
End If
End If
Sub End
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια σας,
Ο παρακάτω κώδικας VBA μπορεί να σας βοηθήσει να λύσετε το πρόβλημα. Παρακαλώ δοκιμάστε και σας ευχαριστώ για το σχόλιό σας.

Ιδιωτικό δευτερεύον φύλλο εργασίας_SelectionChange(Στόχος ByVal ως εύρος)
Dim xRg ως εύρος
Εάν δεν διασταυρώνεται (Στόχος, Εύρος ("F6:F18")) Δεν είναι τίποτα τότε
Ορισμός xRg = ActiveSheet.Cells(Target.Row, Target.Column - 1)
Εάν (xRg.Value = "") Ή (xRg.Value <> "X") Τότε βγείτε από το Sub
Καλέστε την επιλογή ημερομηνίας
End If
Sub End
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Ευχαριστώ, αλλά τι γίνεται με τα συγχωνευμένα κελιά;
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια Alber,
Ο κώδικας δεν λειτουργεί για συγχωνευμένα κελιά.
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Χρησιμοποιώ το OpenOffice και έκανα δεξί κλικ στην καρτέλα φύλλου και σε επιλεγμένα συμβάντα και, στη συνέχεια, επέλεξα αυτήν τη μακροεντολή από το MyMacros. Ωστόσο, λαμβάνω σφάλμα στην ακόλουθη γραμμή: Αν Selection.Count = 1 Τότε >>> "Βασικό σφάλμα χρόνου εκτέλεσης, μεταβλητή δεν ορίζεται...
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Hi James,
Ο κώδικας λειτουργεί μόνο για το Microsoft Office Excel. Σας ευχαριστούμε για το σχόλιό σας.
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Ο πλήρης κωδικός μου σε αυτήν τη μακροεντολή είναι:


Ιδιωτικό δευτερεύον φύλλο εργασίας_SelectionChange(Στόχος ByVal ως εύρος)

Dim val As String
REM val = Εύρος ("A2").Τιμή

Αν Selection.Count = 1 Τότε
If Not Intersect(Target, Range("D24")) Is Nothing then
REM Καλέστε το MyMacro
val = Εύρος ("D24").Τιμή
Εύρος ("B27").Τιμή = val
End If
End If
Sub End
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Αυτό το θέμα είναι πολύ ενδιαφέρον και με ενδιαφέρει αλλά δεν ξέρω πού να βρω, ευτυχώς δημιουργείτε αυτό το θέμα, ελπίζω όλοι να με βοηθήσουν http://run-3.online
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Excel 2002 (XP): Εάν ανοίξει ένα βιβλίο εργασίας επιλέγοντας "Αρχείο" και πατώντας "Shift", απενεργοποιεί τις μακροεντολές σε αυτό το φύλλο, το πρόβλημα είναι ότι εάν επιλέξω "Εργαλεία > Μακροεντολή > Μακροεντολές..." μπορώ να εκτελέσω τη μακροεντολή τέλος πάντων, πώς να λυθεί;
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια Roger,
Δεν έχουμε δοκιμάσει τον κώδικα στο Excel 2002 (XP). Γιατί να μην χρησιμοποιήσετε τη νεότερη έκδοση του Microsoft Office; Θα είναι πιο εύκολο για τη δουλειά σας.
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Το ίδιο αποτέλεσμα το 2010.
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γιατί να μην χρησιμοποιήσετε απλώς κάποια νεότερη έκδοση, θα είναι πιο εύκολο
https://games.lol/racing/
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Ευχαριστώ, αλλά τι θα λέγατε για πολλά κελιά για κλικ για εκτέλεση πολλών μακροεντολών.
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια σας,
Δοκιμάστε τον παρακάτω κώδικα VBA.

Ιδιωτικό δευτερεύον φύλλο εργασίας_SelectionChange(Στόχος ByVal ως εύρος)
Dim xRgArr ως παραλλαγή
Dim xFunArr ως παραλλαγή
Dim xFNum ως ακέραιος αριθμός
Dim xStr ως συμβολοσειρά
Dim xRg ως εύρος
xRgArr = Array("A1", "D1", "C1") 'Κελιά που χρησιμοποιούνται για την ενεργοποίηση μακροεντολών
xFunArr = Array("Κωδικό όνομα1", "Κωδικό όνομα2", "Κωδικό όνομα3") 'Τα αντίστοιχα κωδικά ονόματα
Αν Selection.Count = 1 Τότε
Για xFNum = 0 σε UBound(xRgArr)
Ορισμός xRg = ActiveSheet.Range(xRgArr(xFNum))
If Not Intersect(Target, xRg) Is Nothing then
xStr = xFunArr(xFNum)
Εφαρμογή.Εκτέλεση xStr
End If
Επόμενο
End If
Sub End
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Ευχαριστώ για αυτόν τον κωδικό. Είναι δυνατόν να το κάνετε αυτό να λειτουργήσει κάνοντας κλικ σε ένα κελί που έχει συγχωνευθεί με άλλα;
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια σου M.Symonds,
Ο κώδικας σε αυτό το άρθρο μπορεί να σας κάνει τη χάρη: https://www.extendoffice.com/documents/excel/4354-excel-click-on-cell-to-run-macro.html
Σας ευχαριστώ για το σχόλιό σας.
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια σας, προσπαθούσα να χρησιμοποιήσω αυτόν τον κώδικα για να εκτελέσω μια μακροεντολή επικόλλησης, αλλά δεν μπορώ να καταλάβω πώς να επικολλήσω σωστά τη μακροεντολή.

εδώ είναι ο αρχικός μου Μάρκο

Sub Paste()
'
Επικόλληση μακροεντολής
'

'
Εύρος ("B34"). Επιλέξτε
ActiveSheet.PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:= _
False, NoHTMLFormatting:=True
Sub End


Κάθε βοήθεια είναι ευπρόσδεκτη
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια σας, ευχαριστώ για το ενδιαφέρον θέμα σας. Τι γίνεται αν, για παράδειγμα, θέλω να κάνω κλικ στο D4 στο Φύλλο1 και να δω το αποτέλεσμα της Μακροεντολής στο Φύλλο2!F3.
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Δεν λειτουργεί πλέον.
Worksheet_SelectionChange δεν υπάρχει από προεπιλογή. Αυτό σημαίνει ότι δεν μπορείτε να το χρησιμοποιήσετε για να ενεργοποιήσετε μια μακροεντολή.

Το μόνο ενσωματωμένο δευτερεύον που μπορείτε να χρησιμοποιήσετε αναφέρονται στην αναπτυσσόμενη λίστα "Βιβλίο εργασίας", οπότε...

Το μόνο πιο κοντινό πράγμα που μπορείτε να κάνετε είναι να χρησιμοποιήσετε το Workbook_SheetBeforeDoubleClick. Αλλά θα μπει σε λειτουργία επεξεργασίας (ακόμα δεν είναι μεγάλη υπόθεση).
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια σας CodeKiller.Worksheet_SelectionChange υπάρχει μόνο στο πρόγραμμα επεξεργασίας φύλλου(Κώδικας). Κάντε δεξί κλικ στην καρτέλα φύλλου και κάντε κλικ στην Προβολή κώδικα για να ενεργοποιήσετε το πρόγραμμα επεξεργασίας φύλλου(Κωδικός).
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Είναι σημαντικό να τονιστεί ότι η μακροεντολή εκτελείται μόνο στο φύλλο εργασίας.
Όσοι από εμάς χρησιμοποιούν το κανονικό πρόγραμμα επεξεργασίας οπτικών ουσιών συχνά καταλήγουν να αποθηκεύουν μακροεντολές σε άλλα μέρη εκτός από το τρέχον φύλλο εργασίας.
Κανένας από αυτούς τους κωδικούς δεν θα λειτουργήσει σε αυτήν την περίπτωση.
Θεωρώ ότι αυτός ο κώδικας είναι πολύ πιο απλός και λειτουργεί πολύ καλά για μένα: 

Ιδιωτικό δευτερεύον φύλλο εργασίας_SelectionChange(ByVal Target As Excel.Range)
If Not Intersect(Range("d1"), Target) Is Nothing then
Καλέστε αα
End If
Sub End
Sub aa() ' βάλτε τον κωδικό σας εδώ
Εύρος ("D1"). Επιλέξτε
Selection.Copy
Εύρος ("F1"). Επιλέξτε
ActiveSheet.PasteEnd Υπο
John Wells
jnw.wells@gmail.com
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια σου John Wells, Ευχαριστούμε που το μοιράζεσαι.
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Για όσους θέλουν αυτό να λειτουργεί για συγχωνευμένα κελιά, ο πιο γρήγορος και βρώμικος τρόπος είναι να ενημερώσετε τη Γραμμή 2 ως εξής:
Επιλογή ρητή

Ιδιωτικό δευτερεύον φύλλο εργασίας_SelectionChange(Στόχος ByVal ως εύρος)
Αν Selection.Count > 0 Τότε
If Not Intersect(Target, Range("D4")) Is Nothing then
Καλέστε το MyMacro
End If
End If
Το End SubSelection.Count χρησιμοποιείται για να προσδιοριστεί εάν έχει γίνει μια επιλογή πριν από την εκτέλεση της μακροεντολής που απομένει. Εάν η επιλογή σας αποτελείται από τέσσερα κελιά που έχουν συγχωνευθεί, το Selection.Count θα ισούται με 4 και ο κωδικός που απομένει δεν θα εκτελεστεί ποτέ. Μπορείτε επίσης να αλλάξετε τη γραμμή 2 στον ακριβή αριθμό των κελιών που συγχωνεύτηκαν, αλλά αυτό θα προκαλέσει προβλήματα εάν συγχώνευση πρόσθετων κελιών.
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Μεγαλοπρεπής! Grazie, era una vita che sognavo di poterlo fare, se può essere utile a qualcuno avendo necessità di eseguire più codici su più celle per
aumentare il numero di opzioni basta aggiungere le nuove istruzionisempre sotto la stessa επιλογή ρητή altrimente ci viene detto che il riferimento al
φύλλο εργασίας non è univoco. Mi spiego meglio evidentente su come ho adattato il codice con il mio esempio?

Επιλογή ρητή
Ιδιωτικό δευτερεύον φύλλο εργασίας_SelectionChange(Στόχος ByVal ως εύρος)
Αν Selection.Count = 1 Τότε
If Not Intersect(Target, Range("Y64")) Is Nothing then
Εύρος ("Y65:Y78"). Επιλέξτε
Εύρος ("Y65"). Ενεργοποίηση
Επιλογή.ClearContents
Εύρος ("Y65"). Επιλέξτε
End If
If Not Intersect(Target, Range("A33")) Is Nothing then
Εύρος ("A33"). Επιλέξτε
Selection.Copy
ActiveWindow.WindowState = xlΕλαχιστοποιημένο
SendKeys "^v"
SendKeys "{BACKSPACE}"
End If
End If
Sub End

Grazie ancora è stata un'autentica meraviglia!

Massimo
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Δεν είχα καμία προσδοκία σχετικά με αυτόν τον τίτλο, αλλά όσο περισσότερο ήμουν έκπληκτος. Ο συγγραφέας έκανε εξαιρετική δουλειά. Πέρασα λίγα λεπτά διαβάζοντας και ελέγχοντας τα γεγονότα. Όλα είναι πολύ ξεκάθαρα και κατανοητά. Μου αρέσουν οι αναρτήσεις που καλύπτουν τα κενά γνώσης σας. Αυτό είναι του είδους.
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια σας,

No encuentro la manera de hacer lo que necesito. Espero de veras que me podáis ayudar.
Necesito que se lance una MACRO al hacer clic en una celda, pero no sé en qué celda va a ser, no lo puedo comparar con (si se ha seleccionado la celda A3, por ejemplo, que se lance la acción) porque por funcionalidades del fichero, las celdas se van a mover de sitio (se han podido insertar, mas o menos filas encima). Necesitaría poder saber qué celda es la que se ha seleccionado.
Hay alguna manera de poder hacer eso;
Σας ευχαριστώ πολύ εκ των προτέρων.
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια σου Χόλα,
Η διεύθυνση του κελιού είναι σταθερή. Το μόνο που μπορείτε να μετακινήσετε είναι η τιμή του κελιού.
Το κελί που καθορίσατε στον κώδικα VBA εξακολουθεί να είναι το κελί που ενεργοποιεί τον καθορισμένο κωδικό VBA.
Δεν υπάρχουν σχόλια δημοσιεύτηκε ακόμα
Αφήστε τα σχόλιά σας
Δημοσίευση ως επισκέπτης
×
Αξιολογήστε αυτήν την ανάρτηση:
0   Χαρακτήρες
Προτεινόμενες τοποθεσίες

Ακολουθησε μας

Πνευματικά δικαιώματα © 2009 - www.extendoffice.com. | Ολα τα δικαιώματα διατηρούνται. Τροφοδοτείται από ExtendOffice. | Sitemap
Το Microsoft και το λογότυπο του Office είναι εμπορικά σήματα ή σήματα κατατεθέντα της Microsoft Corporation στις Ηνωμένες Πολιτείες ή / και σε άλλες χώρες.
Προστατεύεται από το Sectigo SSL