¿Cómo crear un Macro en Excel que me advierta de un campo duplicado?

Tengo una planilla de Excel con distintas columnas, entre las cuales se encuentran, por ejemplo: Nombre y Apellido, DNI, Título, etc, y a diario me toca ir cargando campos nuevos dentro de esas columnas. La pregunta es cómo hacer, mediante un Macro, para que al cargar un nuevo DNI Excel me advierta que el registro está duplicado.

Es decir, necesito que Excel me avise con un cartel, o directamente me impida cargar el DNI, para así no tener filas con información duplicada.

1 Respuesta

Respuesta
2

H o l a:

Te anexo la macro para que la pongas en los eventos de tu hoja.

Private Sub Worksheet_Change(ByVal Target As Range)
'Por.Dante Amor
    col = "D"
    If Target.Count > 1 Then Exit Sub
    If Target.Value = "" Then Exit Sub
    If Not Intersect(Target, Columns(col)) Is Nothing Then
        contar = WorksheetFunction.CountIf(Columns(col), Target.Value)
        If contar > 1 Then
            MsgBox "El DNI está duplicado", vbCritical, "DNI"
            Target.Value = ""
            Target.Select
        End If
    End If
End Sub

Sigue las Instrucciones para poner la macro en los eventos de worksheet

  1. Abre tu libro de excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. Del lado izquierdo dice: VBAProject, abajo dale doble click a worksheet(tu hoja)
  4. Del lado derecho copia la macro

‘
F E L I Z A Ñ O T E D E S E A D a n t e A m o r. Recuerda valorar la respuesta. G r a c i a s
:) 

Hola, Dante.

Antes que nada muchas gracias en serio por tu pronta respuesta.

En segundo lugar tengo que decirte que seguí todas tus instrucciones paso por paso: Entré al Editor de Visual Basic, seleccioné la Hoja1, copié el Macro tal cual me lo pasaste tú, y aún así nada ocurrió. Probé a hacerlo con una hoja donde ya estaba el DNI duplicado, y luego con otra donde no lo estaba, pero lo agregué después, y en ningún momento me salió el cartel "El DNI está duplicado" que debería aparecer según el código MsgBox que escribiste tu. Luego probé, desde el mismo Editor, darle al botón Ejecutar Sub, pero en vez de ejecutarlo me da únicamente la opción de crear un Macro Nuevo. Obviamente estoy haciendo algo mal, pero como soy muy neófito en esto no logro entender qué puede ser. Sé que ya es mucho abusar, pero si me das una nueva mano te voy a quedar eternamente agradecido.

Saludos 

Primero tienes que copiar la macro.

Guardas el archivo de excel habilitado para macros.

Cierras el archivo.

Lo vuelves a abrir y habilitas las macros.

La macro se ejecuta cuando escribes algo en la columna D

Si todavía no te funciona envíame tu archivo con la macro y la adapto para que te funcione.

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “Fernando Fatin” y el título de esta pregunta.

¡Gracias! Al final anduvo, el problema era la configuración de la seguridad de los Macros que estaba en muy alta, no sé por qué. Un millón de gracias por tu ayuda, realmente es encomiable tu buena predisposición.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas