Ejecutar macro si encuentra repetidos

Hola buenas noches
A ver si alguien puede ayudarme con la siguiente hoja de excel:
Tengo una hoja en la cual hago la entrada/salida de embalajes a través de un
lector de código de barras, cuando leo el código del embalaje me pone en cuatro columnas consecutivas el código, la fecha, la hora y el estado (entrada o salida). Yo pretendo que al leer el código haga una búsqueda y si encuentra el mismo código debe de poner en la columna "ESTADO", en vez de entrada "SALIDA", además que corte esas dos filas y las pegue en la Hoja "SEGUIMIENTO".

1 respuesta

Respuesta
1

Te mando mi solución:

Vamos a suponer que los datos se vuelcan en la hoja1 en las columnas A, B, C y D. Con esta macro, en el momento de recibir los datos se disparará (dado que es un evento) y si el código ya existía pondrá en la columna de estado la palabra "salida".

Esta macro se copia en el objeto hoja que tiene los datos, no se copia en un módulo.

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Column = 1 Then
If Application.WorksheetFunction.CountIf(Columns(1), Target) Then
Target.Offset(0, 3).Value = "salida"
End If
End If
End Sub

recuerda finalizar y puntuar

Hola, agradecido por tu contestación, pero he copiado tú solución y siempre que pongo datos en la columna 1 independientemente que estén o no repetidos me rellena la celda con salida.

Saludos

Faltaba un pequeño detalle, ahora funciona perfectamente.

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Column = 1 Then
If Application.WorksheetFunction.CountIf(Columns(1), Target) > 1 Then
Target.Offset(0, 3).Value = "salida"
End If
End If
End Sub

te mando un saludo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas