Come impedire l’uso di copia e incolla in una cella con elenco a discesa in Excel?
Gli elenchi a discesa con convalida dati sono un modo efficace per controllare il tipo di informazioni che possono essere inserite in determinate celle di Excel, contribuendo a mantenere coerenza e integrità dei dati nei fogli di lavoro. Tuttavia, si presenta spesso un problema comune: quando si copia del contenuto da un’altra cella e lo si incolla in una cella con un elenco a discesa, la convalida dati viene rimossa e l’elenco scompare. Ciò può comportare la perdita delle regole di convalida e il malfunzionamento della logica del foglio, soprattutto in scenari in cui l’inserimento degli utenti deve essere limitato alle opzioni fornite dall’elenco a discesa.
Per preservare l’integrità delle celle con elenchi a discesa, potresti voler impedire agli utenti di sovrascriverle tramite operazioni di incolla. In questo modo, tutti i dati inseriti in questi campi critici continueranno a rispettare le restrizioni e le opzioni previste. In questo tutorial scoprirai come bloccare efficacemente le azioni di copia e incolla sulle celle contenenti elenchi a discesa utilizzando VBA — una soluzione ideale per moduli, modelli con input controllati o qualsiasi foglio in cui la qualità dei dati è fondamentale.
Impedire copia e incolla su una cella con elenco a discesa in Excel
Impedire copia e incolla su una cella con elenco a discesa in Excel
Per proteggere gli elenchi a discesa dalla sovrascrittura durante l’incollamento, puoi utilizzare il codice VBA nel foglio di lavoro che contiene tali celle. Segui questi passaggi:
1. Apri il foglio di lavoro che contiene gli elenchi a discesa da proteggere.
2. Premi Alt + F11 per aprire la finestra di Visual Basic for Applications.
3. Nel riquadro a sinistra, fai doppio clic sul foglio che vuoi proteggere (non su «ThisWorkbook»). Incolla il seguente codice VBA nell’editor:

Codice VBA: Impedisci l'incolla sugli elenchi a discesa
Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice
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 Alt + Q per chiudere l'editor VBA e tornare a Excel.
5. Prova a incollare in una cella con un elenco a discesa: un messaggio ti impedirà di completare l’operazione, lasciando l’elenco intatto.

Note e limitazioni:
Questo codice VBA è progettato esclusivamente per operazioni di incolla su una singola cella. Potrebbe non impedire la perdita della convalida dati in caso di incolla su più celle: informa gli utenti di conseguenza.
Suggerimenti per la risoluzione dei problemi:
- Assicurati di inserire il codice nel modulo del foglio di lavoro corretto, non in un modulo generico.
- Abilita le macro all'apertura del file.
- Controlla attentamente il codice per eventuali errori di copia e incolla al momento dell’inserimento.
- Prova la macro su un file di esempio prima di utilizzarla sui tuoi dati reali.
Soluzioni alternative:
- Proteggi il foglio di lavoro:Blocca Selezione con elenchi a discesa e proteggi il foglio per impedire modifiche.Ulteriori informazioni
- Utilizza gli avvisi di convalida dati:Imposta lo stile dell'avviso su «Stop» per bloccare l'inserimento manuale di dati non validi.Ulteriori informazioni
Crea facilmente Elenco a discesa con caselle di controllo in Excel:
L’utility Aggiungi caselle di controllo all'elenco a discesa di Kutools per Excel ti permette di creare facilmente un elenco a discesa con caselle di controllo in un intervallo limitato, nel foglio di lavoro corrente o in tutte le cartelle di lavoro aperte, in base alle tue esigenze.
Scarica subito la versione completa con prova gratuita di 30 giorni di Kutools per Excel!
Articoli correlati:
Come creare un elenco a discesa con più caselle di controllo in Excel?
Molti utenti di Excel vorrebbero creare un elenco a discesa con più caselle di controllo per selezionare diversi elementi contemporaneamente. In realtà, la Convalida dati non permette di realizzare direttamente un elenco del genere. In questo tutorial ti mostreremo due metodi efficaci per creare un elenco a discesa con più caselle di controllo in Excel — la soluzione perfetta per risolvere questo problema comune!
Creare un elenco a discesa da un'altra cartella di lavoro in Excel
Creare un elenco a discesa con la Convalida dati tra fogli della stessa cartella di lavoro è abbastanza semplice. Ma se i dati necessari per la convalida si trovano in un’altra cartella di lavoro, cosa puoi fare? In questo tutorial scoprirai passo dopo passo come creare un elenco a discesa da un’altra cartella di lavoro in Excel.
Creare un elenco a discesa ricercabile in Excel
Quando un elenco a discesa contiene numerosi valori, trovare quello giusto può diventare complicato. In passato abbiamo mostrato come completare automaticamente l’elenco digitando la prima lettera nella casella. Oltre al completamento automatico, puoi rendere il tuo elenco a discesa ricercabile per individuare ancora più velocemente i valori che ti servono. Scopri come fare con il metodo illustrato in questo tutorial!
Compila automaticamente altre celle quando selezioni un valore da un elenco a discesa in Excel
Immagina di aver creato un elenco a discesa basato sui valori nell’intervallo B8:B14. Quando selezioni un valore dall’elenco, vorresti che i corrispondenti dati presenti nell’intervallo C8:C14 vengano inseriti automaticamente in una cella specifica. I metodi illustrati in questo tutorial ti aiuteranno a ottenere esattamente questo risultato!
Migliori Strumenti per la Produttività in Office
Potenzia le tue competenze in Excel con Kutools per Excel e sperimenta un’efficienza mai vista prima.Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e Risparmia tempo.Clicca qui per ottenere la funzionalità 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 all’interno della stessa finestra, invece che in finestre separate.
- Aumenta la tua produttività del 50 % e risparmia centinaia di clic del mouse ogni giorno!
Tutti i componenti aggiuntivi di Kutools in un unico programma di installazione.
Kutools for Office è la suite che include componenti aggiuntivi per Excel, Word, Outlook e PowerPoint, oltre a Office Tab Pro: la soluzione ideale per i team che lavorano su diverse app di Office.
- Suite completa— componenti aggiuntivi per Excel, Word, Outlook e PowerPoint + Office Tab Pro
- Un unico programma di installazione, una sola licenza— configurazione in pochi minuti (pronto per MSI)
- Funziona meglio insieme— produttività ottimizzata tra le app di Office
- Prova gratuita di 30 giorni con tutte le funzionalità— nessuna registrazione, nessuna carta di credito
- Miglior rapporto qualità-prezzo— risparmia rispetto all’acquisto dei singoli componenti aggiuntivi