Entrada de nombre único, tome dos (Microsoft Excel)
Chris utiliza una técnica de validación de datos que evita con éxito que se ingrese información no única en una columna. (Esta técnica se describió en ediciones anteriores de ExcelTips.) Sin embargo, observa con razón que todavía hay un problema con la validación de datos: alguien puede pegar información en una celda y omitir con éxito todas las comprobaciones en su lugar.
Por ejemplo, si escribe «George» en la celda A8 y luego escribe «George»
en A9, la validación de datos regular generará un error, como era de esperar, lo que indica que el valor que está intentando ingresar no es único.
Sin embargo, si escribe «George» en la celda A8, copie esa celda y péguela en la celda A9, no se activa ningún error de validación de datos; se permite pegar.
No hay una forma directa de evitar esto en Excel. Sin embargo, puede hacer que Excel realice algunas comprobaciones siempre que intente pegar. Considere la siguiente 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
Esta macro solo se ejecuta cuando la selección cambia en una hoja de trabajo. (Este código debe estar en la ventana de código de una hoja de trabajo). Examina las celdas de destino (las que se están seleccionando), y si el usuario está intentando pegar en una celda que tiene la validación activa, no lo permitirá.
Además, el usuario verá un cuadro de diálogo que indica el error.
Debe tener en cuenta que esta rutina solo verifica si se está pegando en una celda con datos validados. Si es así, se genera un error.
La rutina no comprueba si lo que se está pegando está realmente permitido según las reglas de validación en las celdas de destino; eso sería mucho más complejo y requeriría un poco más de codificación.
_Nota: _
Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.
link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador]
.
ExcelTips es su fuente de formación rentable en Microsoft Excel.
Este consejo (2449) se aplica a Microsoft Excel 97, 2000, 2002 y 2003.