Inserimento nome univoco, prendi due (Microsoft Excel)
Chris utilizza una tecnica di convalida dei dati che impedisce l’inserimento di informazioni non univoche in una colonna. (Questa tecnica è stata descritta nei numeri precedenti di ExcelTips.) Fa notare giustamente che c’è ancora un problema con la convalida dei dati, tuttavia: qualcuno può incollare le informazioni in una cella e bypassare con successo tutti i controlli in atto.
Ad esempio, se digiti “Giorgio” nella cella A8, e poi digiti “Giorgio”
in A9, la convalida regolare dei dati genererà un errore, come ci si aspetterebbe, indicando che il valore che si sta tentando di inserire non è univoco.
Tuttavia, se digiti “Giorgio” nella cella A8, copia quella cella e incollala nella cella A9, non viene attivato alcun errore di convalida dei dati: l’incolla è consentita.
Non esiste un modo diretto per aggirare questo in Excel. Tuttavia, puoi fare in modo che Excel esegua alcuni controlli ogni volta che provi a fare un incolla. Considera la seguente macro:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) On Error Resume Next For Each TmpRng In Target TmpVal = TmpRng.Validation.Type If TmpVal > 0 Then If Application.CutCopyMode = 1 Then MsgBox "You cannot paste into validated cells." Application.CutCopyMode = False Exit Sub End If End If Next End Sub
Questa macro viene eseguita solo quando la selezione cambia in un foglio di lavoro. (Questo codice deve essere nella finestra del codice per un foglio di lavoro.) Esamina le celle di destinazione (quelle selezionate) e se l’utente sta tentando di incollare in una cella con convalida attiva, non lo consentirà.
Inoltre, l’utente vedrà una finestra di dialogo che indica l’errore.
Dovresti notare che questa routine controlla solo per vedere se viene eseguito l’incollaggio in una cella convalidata dai dati. In caso affermativo, viene generato un errore.
La routine non verifica se ciò che viene incollato è effettivamente consentito dalle regole di convalida nelle celle di destinazione; sarebbe molto più complesso e richiederebbe un po ‘più di codice.
_Nota: _
Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.
ExcelTips è la tua fonte di formazione economica su Microsoft Excel.
Questo suggerimento (2449) si applica a Microsoft Excel 97, 2000, 2002 e 2003.