Cómo usar VBA para evitar entradas duplicadas en Excel

Si valora el almacenamiento de información en MS Excel, es importante configurar los datos correctamente desde el primer día. Al evitar la entrada repetida, puede ahorrar muchos problemas en el futuro.

Suponemos que ha retenido una lista de clientes y que le preocupa que cierta información pueda ingresarse más de una vez. Si usa datos para ejecutar una parte importante de su negocio, esto puede causar problemas:

  • Depende de información incompleta o incorrecta
  • Problemas de administración financiera, como el envío de facturas duplicadas
  • Es posible que su información no cambie a más “Base de datos preparada” para plataformas complejas

Este artículo se centra en cómo recordarle las posibles duplicaciones durante la entrada de datos.

Creando una clave única para sus datos

El problema con la identificación de duplicados es que no todos miran los datos de la misma manera. ABC Limited se puede grabar en muchas variantes diferentes, como ABC Limited o ABC Ltd, lo que dificulta la búsqueda de entradas duplicadas.

Una técnica es crear una clave de datos: una combinación única de texto / número creada a partir de las tres primeras letras del nombre comercial y la dirección de la calle. Por lo tanto, si el personal de ingreso de datos sigue las reglas de su negocio para registrar nuevos clientes, entonces cualquier repetición tiene una mayor posibilidad de ser seleccionado.

Usando VBA para encontrar entradas de datos duplicados en Excel

Excel tiene varias opciones para evitar la duplicación, incluidas las fórmulas y las herramientas de formato integradas. Pero, probablemente, la codificación más sencilla de VBA es la opción más útil y flexible porque le permite ajustar su solución a su situación.

Usaremos el evento de “cambio” de la hoja de trabajo de VBA para ayudar a determinar si estamos intentando duplicar entradas. Aquí está el código: debe colocarse en el área de códigos de la hoja de cálculo correspondiente:

Private Sub worksheet_change (ByVal Target As Range)
Si Target.Column = 1 then
prevData = “a1: a” & Target.Row – 1
newData = Range (“a” & Target.Row) .Text
If Application.WorksheetFunction.CountIf (Range (prevData), newData)> 0 then
dupData = “Tal vez repita”
Else
dupData = “Datos correctos”
End If
MsgBox dupData
End If
End Sub

] 19659002] Supongamos que los datos de su “clave” están en la columna 1. Después de agregar un nuevo registro, el código verifica si la clave se agregó anteriormente y, de ser así, advierte al usuario sobre la posibilidad de duplicación. Esta es la mejor opción porque le permite al operador de entrada de datos decidir si continuar o no.

La función countIf en Excel compara una serie de celdas con un texto específico y devuelve el número de celdas que se repiten. En este caso, comparamos la nueva clave de registro introducida con todas las claves anteriores. Si la función devuelve un número mayor que 0, entonces debe ser una entrada duplicada.

Mejora de código

Una cosa es sospechar que los registros son duplicados, pero debe decidir cómo manejar esta información. El código se puede ajustar para resaltar el mismo registro anterior para determinar el siguiente paso, a veces la información que se registra repetidamente es incorrecta y solo se debe corregir.

Al buscar datos duplicados, ha visto cómo una pequeña cantidad de código VBA puede mejorar la calidad de los datos, ahorrarle tiempo y alertarle sobre posibles problemas.

Plantillas de excel