Skip to main content

Come impedire la copia e incolla su una cella con elenco a discesa in Excel?

Author: Siluvia Last Modified: 2025-05-29

Per una cella con un elenco a discesa di convalida dei dati, quando si copia il contenuto da un'altra cella e lo si incolla in essa, l'elenco a discesa scomparirà e verrà sostituito con il nuovo contenuto incollato. In alcuni casi, potresti voler impedire la copia e incolla di altri contenuti sulla cella con l'elenco a discesa; cosa faresti per gestire questa situazione? In questo articolo, otterrai un metodo VBA per affrontare questo problema.

Impedisci la copia e incolla su una cella con elenco a discesa in Excel


Impedisci la copia e incolla su una cella con elenco a discesa in Excel

1. Apri il foglio di lavoro con la cella dell'elenco a discesa su cui vuoi impedire la copia e incolla.

2. Premi contemporaneamente i tasti Alt + F11 per aprire la finestra Microsoft Visual Basic Applications.

3. Nella finestra Microsoft Visual Basic Applications, fai doppio clic sul nome del foglio di lavoro corrente nel riquadro sinistro, quindi copia e incolla il seguente codice VBA nell'editor del Codice. Vedi screenshot:

copy and paste the code into the sheet module

Codice VBA: Impedisci la copia e incolla su una cella con elenco a discesa

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. Premi i tasti Alt + Q per uscire dalla finestra Microsoft Visual Basic Applications.

5. Quando incollerai il contenuto in una cella con elenco a discesa, apparirà una finestra di dialogo per avvisarti che l'incolla non è consentito. Vedi screenshot:

When you paste content to a cell with drop down list, a dialog box will pop up

Nota: Questo VBA funziona solo per l'incolla in una singola cella. Se copi e incolli in più celle, non funzionerà.

Crea facilmente un elenco a discesa con caselle di controllo in Excel:

Il Elenco a discesa con caselle di controllo dell'utilità Kutools for Excel può aiutarti a creare facilmente un elenco a discesa con caselle di controllo in un intervallo specifico, nel foglio di lavoro corrente, nella cartella di lavoro corrente o in tutte le cartelle di lavoro aperte in base alle tue esigenze.
Scarica la versione completa 30-giorni di prova gratuita di Kutools per Excel ora!


Articoli correlati:

Come creare un elenco a discesa con più caselle di controllo in Excel?
Molti utenti di Excel tendono a creare un elenco a discesa con più caselle di controllo per selezionare più elementi dall'elenco in una sola volta. In realtà, non puoi creare un elenco con più caselle di controllo con la Convalida dei Dati. In questo tutorial, ti mostreremo due metodi per creare un elenco a discesa con più caselle di controllo in Excel. Questo tutorial fornisce il metodo per risolvere il problema.

Crea un elenco a discesa da un'altra cartella di lavoro in Excel
È abbastanza facile creare un elenco a discesa di convalida dei dati tra fogli di lavoro all'interno di una cartella di lavoro. Ma se i dati dell'elenco di cui hai bisogno per la convalida si trovano in un'altra cartella di lavoro, cosa faresti? In questo tutorial, imparerai come creare un elenco a discesa da un'altra cartella di lavoro in Excel nei dettagli.

Crea un elenco a discesa ricercabile in Excel
Per un elenco a discesa con numerosi valori, trovare quello giusto non è un compito facile. Precedentemente abbiamo introdotto un metodo per completare automaticamente l'elenco a discesa quando si inserisce la prima lettera nella casella a discesa. Oltre alla funzione di completamento automatico, puoi anche rendere l'elenco a discesa ricercabile per migliorare l'efficienza lavorativa nella ricerca dei valori appropriati nell'elenco a discesa. Per rendere l'elenco a discesa ricercabile, prova il metodo in questo tutorial.

Compila automaticamente altre celle quando si selezionano valori nell'elenco a discesa di Excel
Diciamo che hai creato un elenco a discesa basato sui valori nell'intervallo di celle B8:B14. Quando selezioni qualsiasi valore nell'elenco a discesa, vuoi che i valori corrispondenti nell'intervallo di celle C8:C14 vengano automaticamente popolati in una cella selezionata. Per risolvere il problema, i metodi in questo tutorial ti saranno d'aiuto.

Altri tutorial per l'elenco a discesa...

I migliori strumenti per la produttività in Office

🤖 Kutools AI Aide: Rivoluziona l'analisi dei dati grazie a: Esecuzione Intelligente | Genera Codice | Crea Formule Personalizzate | Analizza Dati e Genera Grafici | Richiama Funzioni avanzate di Kutools
Funzionalità popolari: Trova, evidenzia o contrassegna duplicati | Elimina righe vuote | Unisci colonne o celle senza perdere dati | Arrotonda...
Super RICERCA.VERT: Ricerca VERT con criteri multipli | Ricerca VERT con valori multipli | Ricerca su più fogli | Corrispondenza approssimativa...
Elenco a discesa avanzato: Crea rapidamente un elenco a discesa | Elenco a discesa dipendente | Elenco a discesa multi-selezione...
Gestione Colonne: Aggiungi un numero specifico di colonne | Sposta colonne | Attiva/disattiva la visibilità delle colonne nascoste | Confronta intervalli e colonne...
Funzionalità in evidenza: Attenzione della griglia | Visualizzazione di progettazione | Barra delle formule avanzata | Gestione Cartella di lavoro e Foglio di lavoro | Libreria AutoText | Selettore di data | Unisci dati | Crittografa/Decrittografa celle | Invia Email tramite elenco | Super Filtri | Filtro speciale (filtra grassetto/corsivo/barrato...) ...
Top15 set di strumenti:12 strumenti di testo (Aggiungi testo, Elimina Caratteri Specifici, ...) | Oltre50 tipi di grafici (Diagramma di Gantt, ...) | Oltre40 formule pratiche (Calcola l'età in base alla data di nascita, ...) |19 strumenti di inserimento (Inserisci codice QR, Inserisci Immagine da percorso, ...) |12 strumenti di conversione (Converti in parole, Conversione valuta, ...) |7 strumenti di unione e divisione (Unione avanzata righe, Dividi celle, ...) | ... e molto altro

Potenzia le tue competenze in Excel con Kutools per Excel e sperimenta un'efficienza mai vista prima. Kutools per Excel offre oltre300 funzionalità avanzate per aumentare la produttività e risparmiare tempo. Clicca qui per ottenere la funzione di cui hai più bisogno...


Office Tab porta l'interfaccia a schede in Office e rende il tuo lavoro molto più semplice

  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede della stessa finestra, invece che in nuove finestre.
  • Aumenta la tua produttività del50% e riduce centinaia di clic del mouse ogni giorno!