Encontrando los repetidos..

Hola, tengo una hoja de excel que tengo que actualizar casi a diario. En su primera columna tiene el numero de código de unas piezas. El resto de columnas trae otra información como descripción, precio, etc. Casi a diario recibo del proveedor otra hoja de excel con las mismas columnas y en esta hay piezas que ya tengo en mi hoja y piezas nuevas. Y no necesariamente en orden. Al recibir esta debo actualizar mi hoja con las piezas que son nuevas. Que puedo hacer para que de la hoja que recibo saber rápidamente cuales son las nuevas? La primera columna trae el código que las diferencia. Es numérico es algo como esto 20023412345, por ejemplo.
Por favor explíqueme detalladamente ya que no se mucho de formulas.

Gracias,

1 Respuesta

Respuesta
1

Primero disculpa el retraso, no pude conectarme con tu pregunta, espero poder ayudar aun.

Tengo una macro de VbA que hace lo que pides. Que te marca en rojo los códigos que no tienes introducidos y en verde los que si.

Yo los listados de códigos los he puesto en la columna A y en la columna C.

Para insertar el código de vba (no se si lo sabes usar) hay que entrar en el visual (una vez abierto excel, presiona ALT+F11), en el menú de la izquierda aparece tu archivo como proyecto, con sus pestañas. Presiona el botón derecho del ratón ahi y dale insertar/modulo.

Doble clic en el modulo que acabas de crear, y en la derecha se te habrá abierto la hoja en blanco donde puedes pegar el código que te paso ahora...

Sub Comprobar()
Dim Código, CeldaCodigo As String
Dim i As Byte
Range("C1").Select
While ActiveCell.Value <> ""
CeldaCodigo = ActiveCell.Address
Código = ActiveCell.Value
Range("A1:A500").Select
On Error Resume Next
Selection.Find(What:=Código, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Activate
If Err <> 0 Then
i = 1
Else
i = 2
End If
Select Case i
Case 1
Err = 0
Range(CeldaCodigo).Interior.ColorIndex = 3
Range(CeldaCodigo).Select
ActiveCell.Offset(1, 0).Select
On Error GoTo 0
Case 2
Err = 0
Range(CeldaCodigo).Interior.ColorIndex = 35
Range(CeldaCodigo).Select
ActiveCell.Offset(1, 0).Select
End Select
Wend
End Sub

... Donde pone "C1" debes modificarlo por la celda donde pondrás el el primer numero del listado de códigos diarios (en el que pueden haber nuevos), el "A1:A500" has de substituirlo por el rango donde están tus códigos (los "antiguos").

Una vez adaptadas a tu archivo las referencias. Vete al excel, selecciona la pestaña donde estén los códigos, pulsa ALT+F8 y selecciona la macro que acabas de crear, debería aparecerte "Comprobar" como opción.

Hola, wow esto es un poco complicado para mi pero lo voy a intentar, dame un par de dias. Mientras tanto, no estoy claro en que hacer con las dos hojas. Recuerda que tengo la A que estoy actualizando y recibo una B por email con informacion nueva y repetida. Qué hago con la que recibo? Tengo que copiarla a la hoja que tengo? Se trabajan separadas? Esa parte es la que no tengo claro por el momento... Además, lo que me sugeriste, se tiene que hacer cada vez que recibo una hoja nueva o eso queda programado?

Gracias y disculpa la ignorancia.

¿Ignorancia? No, no, para nada, todos aprendemos preguntando y aquí estamos para intentar ayudar :).

Sobre las hojas diferentes:

Lo mejor sería que tuvieras las dos pestañas en el mismo archivo, cuando te llega la pestaña con los nuevos códigos (la B) la copias en tu archivo (botón derecho en el nombre de la pestaña de los nuevos códigos, mover/copiar, selecciona "crear copia" y en el desplegable el nombre del libro donde tienes tus códigos).

Pásame los nombres que tienen ambas pestañas (la de tus códigos y la de los nuevos) y te ajusto la macro para que funcione. Si quieres, también me puedes pasar las celdas donde estarán siempre los primeros códigos en ambas pestañas, para localizar correctamente los datos.

La macro una vez la programes, sirve para siempre en ese archivo. La programas en el que tienes tus códigos, y cada vez que le pegues la pestaña de los nuevos, le das al play, y ya está, :)

De todas maneras, si quieres, me pasas un archivo ejemplo por correo, te lo ajusto, y te lo paso para que lo uses y lo trastees, :P

Mi correo por si me quieres pasar el archivo [email protected]

Ya me dirás!

Hola amigo, disculpa la tardanza, he estado muy ocupado con cosas imprevistas. Te mandaré a tu email copias ejemplo de los archivos que manejo. Siendo Labor M mi hoja principal y Labor un ejemplo de lo que recibo.

Gracias mil por tu ayuda.

Te he respondido al correo, echale un ojo al archivo y dime si está Ok, :)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas