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

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

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

Αποτροπή αντιγραφής και επικόλλησης σε κελί με αναπτυσσόμενη λίστα στο Excel


Αποτροπή αντιγραφής και επικόλλησης σε κελί με αναπτυσσόμενη λίστα στο Excel

1. Ανοίξτε το φύλλο εργασίας με το αναπτυσσόμενο κελί λίστας που θέλετε να αποτρέψετε την αντιγραφή και επικόλληση.

2. Τύπος άλλος + F11 ταυτόχρονα για να ανοίξετε το Εφαρμογές της Microsoft Visual Basic παράθυρο.

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

Κωδικός VBA: Αποτροπή αντιγραφής και επικόλλησης σε κελί με αναπτυσσόμενη λίστα

Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 20200903
    Dim xValue As String
    Dim xCheck1 As String
    Dim xCheck2 As String
    Dim xRg As Range
    Dim xArrCheck1() As String
    Dim xArrCheck2() As String
    Dim xArrValue()
    Dim xCount, xJ As Integer
    Dim xBol As Boolean
'    If Target.Count > 1 Then
'        Exit Sub
'        End If
    xCount = Target.Count
    ReDim xArrCheck1(1 To xCount)
    ReDim xArrCheck2(1 To xCount)
    ReDim xArrValue(1 To xCount)
    Application.EnableEvents = False
    On Error Resume Next
    xJ = 1
    For Each xRg In Target
        xArrValue(xJ) = xRg.Value
         xArrCheck1(xJ) = xRg.Validation.InCellDropdown
        xJ = xJ + 1
    Next

    Application.Undo

    xJ = 1
    For Each xRg In Target
        xArrCheck2(xJ) = xRg.Validation.InCellDropdown
        xJ = xJ + 1
    Next

    xBol = False
    For xJ = 1 To xCount
        If xArrCheck2(xJ) <> xArrCheck1(xJ) Then
            xBol = True
            Exit For
        End If
    Next

    If xBol Then
       MsgBox "The selected cells containg data validation drop-down lists, no pasting allowed."
    Else
        xJ = 1
        For Each xRg In Target
            xRg.Value = xArrValue(xJ)
            xJ = xJ + 1
        Next

    End If

    Application.EnableEvents = True
End Sub

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

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

Note: Αυτό το VBA λειτουργεί μόνο σε επικόλληση με ένα κελί. Εάν αντιγράψετε και επικολλήσετε σε πολλά κελιά, δεν θα λειτουργήσει.

Δημιουργήστε εύκολα αναπτυσσόμενη λίστα με πλαίσια ελέγχου στο Excel:

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


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

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

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

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

Αυτόματη συμπλήρωση άλλων κελιών κατά την επιλογή τιμών στην αναπτυσσόμενη λίστα του Excel
Ας υποθέσουμε ότι έχετε δημιουργήσει μια αναπτυσσόμενη λίστα με βάση τις τιμές στην περιοχή κελιών B8: B14. Όταν επιλέγετε οποιαδήποτε τιμή στην αναπτυσσόμενη λίστα, θέλετε οι αντίστοιχες τιμές στην περιοχή κελιών C8: C14 να συμπληρώνονται αυτόματα σε ένα επιλεγμένο κελί. Για την επίλυση του προβλήματος, οι μέθοδοι σε αυτό το σεμινάριο θα σας βοηθήσουν.

Περισσότερα μαθήματα για την αναπτυσσόμενη λίστα ...

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

🤖 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 (12)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
I works BUT after you put the code you cannot UNDO anything. Not a single step back is allowed.
This comment was minimized by the moderator on the site
No, I did not figure it out. I didn't try to resolve after a while.
This comment was minimized by the moderator on the site
did you manage to resolve the issue of copying and pasting into multiple cells? Thanks in advance!
This comment was minimized by the moderator on the site
Hi Dilip, are you able to fix the issue of allowing data using paste values
This comment was minimized by the moderator on the site
Hi Dilip, are you able to fix the issue of allowing data using paste values..i am also facing the same issue..help me on this please
This comment was minimized by the moderator on the site
Thank you very much !! works fine for me !!! copying into a single cell is restricted. but if i copy a list of cells and paste.., the paste is accepted. let me see if i can tune this up ..thanks anyways
This comment was minimized by the moderator on the site
Jepson, did you manage to resolve the issue of copying and pasting into multiple cells? Thanks in advance!
This comment was minimized by the moderator on the site
Private Sub Worksheet_Change(ByVal Target As Range) Dim xValue As String Dim xCheck1 As String Dim xCheck2 As String If Target.Count > 1 Then Exit Sub End If Application.EnableEvents = False xValue = Target.Value On Error Resume Next xCheck1 = Target.Validation.InCellDropdown On Error GoTo 0 Application.Undo On Error Resume Next xCheck2 = Target.Validation.InCellDropdown On Error GoTo 0 If xCheck1 = xCheck2 Then Target = xValue Else MsgBox "No pasting allowed!" End If Application.EnableEvents = True End Sub This Macro not work when copy from different workbook or worksheet then so please tell me how to avoid these things also
This comment was minimized by the moderator on the site
Hi, above mention vba code is not run.kindly resolve.
This comment was minimized by the moderator on the site
Hi, While I running this macro I got this debug error "Application.Undo". Pls resolve this ASAP
This comment was minimized by the moderator on the site
This works but when I paste value this is allowing data which is not from the drop down list. Any way to restrict any value which is not from the list.
This comment was minimized by the moderator on the site
Hi Dilip, Did you able to resolve the issue, i too having similar issue. I have to allow copy,paste only for drop down values in the data validation cell other i have to restrict. Can you share your solution. Thanks Rao
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations