Cómo evitar entradas duplicadas en Excel con la ayuda de VBA

Si está decidido a almacenar información en MS Excel, es importante configurarlo correctamente desde el primer día. Al evitar duplicados, evitarás muchos problemas después.

Supongamos que mantiene una lista de clientes y le preocupa que alguna información se haya ingresado más de una vez. Esto podría crear problemas si utiliza los datos para realizar actividades importantes de su negocio:

  • Uso de información incompleta o incorrecta
  • Problemas de administración financiera, como facturación duplicada
  • Es posible que su información no esté "lista para usar en la base de datos" cuando se desplaza a una plataforma más sofisticada

Este artículo explica cómo se le puede notificar sobre posibles duplicados al ingresar datos.

Creación de una clave única para sus datos

El problema de identificar duplicados es que no todos están viendo los datos de la misma manera. ABC Ltd podría registrarse en muchas variantes, como ABC Limited o A.B.C. Ltd haciendo más difícil la búsqueda de entradas repetidas.

Una técnica es crear una clave de datos: una combinación única de texto / número creado a partir de las tres primeras letras del nombre y la dirección de la empresa. Por ejemplo, si el personal de entrada de datos sigue las reglas de su empresa para registrar nuevos clientes, es más probable que se detecten duplicados.

Uso de VBA en Excel para identificar entradas de datos duplicadas

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

Usaremos el evento de "cambio" de la hoja de cálculo de VBA para ayudarlo a decidir si se intenta una entrada duplicada. Aquí está el código, que se debe colocar en el campo de código para la hoja de trabajo correspondiente:

Private Sub worksheet_change (ByVal Target As Range)

Si Target.Column = 1 entonces

prevData = "a1: a" & Target.Row – 1

newData = Range ("a" & Target.Row) .Text

Si Application.WorksheetFunction.CountIf (Range (prevData), newData)> 0, entonces

dupData = "¡Duplicar posible!"

En otra parte

dupData = "Datos bien"

Fin si

MsgBox dupData

Fin si

End Sub

Suponiendo que sus datos clave se encuentran en la columna 1, después de agregar un nuevo registro, el código verifica si la clave ya se ha agregado y, si corresponde , advierte al usuario la posibilidad de un duplicado. Esta es la mejor opción porque le permite al operador de entrada de datos decidir si conserva o no su trabajo.

La función countIf en Excel compara un rango de celdas con el texto especificado y devuelve el número de celdas en duplicado. En este caso, comparamos la nueva clave de registro ingresada con todas las claves anteriores y si la función devuelve un número mayor que 0, debe actuar como una entrada duplicada.

Mejoras en el código

Una cosa es sospechar que un registro es un duplicado, pero debe decidir qué hacer con la información. El código podría adaptarse para resaltar el registro idéntico anterior para determinar el siguiente paso; Los registros duplicados pueden contener información incorrecta y solo pueden corregirse.

Al encontrar datos duplicados, descubrió que una pequeña cantidad de código de VBA puede mejorar la calidad de sus datos, ahorrarle tiempo y alertarle sobre su potencial. problemas.



Plantillas de excel

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *