Ayuda con una macro (Ya tengo avance)

Solo consultas sobre macros y código VBA Excel.
Reglas del Foro 1. Antes de hacer tu pregunta intenta con el buscador de este foro (muchas preguntas ya fueron respondidas antes!)
2. Si haces una nueva pregunta, es muy recomendable que adjuntes el ejemplo Excel para poder comprenderla mejor!
3. Realiza tu pregunta de forma clara, explicando bien cada paso de lo que haces y tendrás más probabilidad de respuesta!

Ayuda con una macro (Ya tengo avance)

Notapor vicjamlegal02 » 02 Oct 2018 00:00

Buenas tardes, estoy realizando una macro que tiene como finalidad comparar las columnas A, C y D de dos archivos diferentes (Los cuales tienen la misma cantidad de filas, pero ha sufrido cambios con el paso del tiempo te explico "Libro1 jba(archivo viejo), Libro2 e1(archivo con datos modificados)", adjunto los archivos en el zip ),el archivo que contiene la macro se llama "MARKUP" la macro ya la tengo iniciada (No la hice yo, la tome de una macro que Antoni ya habia realizado) y me marca en colores lo que es diferente (En todo el archivo) pero.. lo que no se como hacer es:
Saber exactamente que es lo que ha cambiado en el texto por ejemplo si temenos dos numeros de parte :
C134 C146 y en el otro archivo tenemos:
C134 C146 C135 la macro debe de marcar con negrita el dato que ha sido cambiado (en este caso hemos agregado), y lo debe de pintar de color verde esa celda donde hubo un cambio de igual manera si se quita un numero de parte debe de marcarlo como la imagen que adjunto en el archivo zip (Imagen1, color rojo), y de igual manera marcarlo en negrita para saber que el texto ha cambiado tanto en el archivo 1 como en el archivo 2, esto es lo que mas o menos es lo que quiero realizar si me pueden auxiliar se los agradeceria mucho!
Gracias.
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
vicjamlegal02
Miembro Frecuente
Miembro Frecuente
 
Mensajes: 11
Registrado: 24 Sep 2018 01:08

Re: Ayuda con una macro (Ya tengo avance)

Notapor Cacho R » 02 Oct 2018 05:16

.
Hola! vicjamlegal02
Te comento: estás mostrando dos hojas en cada archivo conteniendo las respectivas segundas hojas un procesamiento de las primeras.

Sin embargo y a los efectos de la comparación que deseas hacer, resulta infinitamente más sencillo trabajar con las primeras hojas y no con las segundas.

Mira la primera hoja de la "nueva información" (columnas A, B y C ya que las otras 3 columnas auxiliares tampoco son necesarias). Analiza que sencillo es que te pongamos en la 4ta columna una marca (o lo que sea) indicándote que esa posición no se encuentra en el otro archivo.

Y lo mismo para la info "vieja" pero a la inversa... (Además hacer que la info vieja tenga una estructura similar a la primera hoja de la info nueva es muy sencillo).

Entonces: ¿Quieres que te hagamos ver esa forma de trabajar "más limpia"?...
Saludos, Cacho R.
.
Avatar de Usuario
Cacho R
Miembro Frecuente
Miembro Frecuente
 
Mensajes: 10308
Registrado: 23 Jun 2011 17:15
Ubicación: Buenos Aires

Re: Ayuda con una macro (Ya tengo avance)

Notapor vicjamlegal02 » 02 Oct 2018 12:25

A que se refiere que resulta mas sencillo trabajar con las primeras hojas y no con las segundas hojas, me gustaria trabajar con las segundas hojas ya que estas contienen el mismo formato es decir:

Columna A Columna B Columna C Columna D
Part number, Description, Qty, Position
Y la idea de la macro es comparar las segundas hojas, y mostrarme que datos han cambiado en ambos archivos, y me los marque en letra Negrita eso es lo que estoy buscando, aun no logro entender la forma en la que le gustaria trabajar "limpia", lo puede ejemplificar por favor, si no es mucha molestia. Yo la verdad lo trabajo asi, pues es la forma en la que me lo han pedido
U observe este archivo es con el que ellos trabajan casi siempre pero gran parte del trabajo lo hacen manual (se lo adjunto en un archivo zip)
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
vicjamlegal02
Miembro Frecuente
Miembro Frecuente
 
Mensajes: 11
Registrado: 24 Sep 2018 01:08

Re: Ayuda con una macro (Ya tengo avance)

Notapor Antoni » 02 Oct 2018 12:31

No es exactamente lo que has pedido, pero se le acerca bastante, no tanto en los colores, pero si en lo sustancial.
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
Avatar de Usuario
Antoni
Miembro Frecuente
Miembro Frecuente
 
Mensajes: 5572
Registrado: 22 Dic 2009 04:58
Ubicación: GALICIA (ESPAÑA)

Re: Ayuda con una macro (Ya tengo avance)

Notapor vicjamlegal02 » 02 Oct 2018 13:22

De hecho se arcerca bastante a lo que he pedido, Muchas Gracias Antoni como siempre!
Si tengo alguna otra duda, le puedo preguntar ?
vicjamlegal02
Miembro Frecuente
Miembro Frecuente
 
Mensajes: 11
Registrado: 24 Sep 2018 01:08

Re: Ayuda con una macro (Ya tengo avance)

Notapor Antoni » 02 Oct 2018 13:40

vicjamlegal02 escribió:De hecho se arcerca bastante a lo que he pedido, Muchas Gracias Antoni como siempre!
Si tengo alguna otra duda, le puedo preguntar ?


Aquí estaremos.
Avatar de Usuario
Antoni
Miembro Frecuente
Miembro Frecuente
 
Mensajes: 5572
Registrado: 22 Dic 2009 04:58
Ubicación: GALICIA (ESPAÑA)

Re: Ayuda con una macro (Ya tengo avance)

Notapor Cacho R » 02 Oct 2018 15:14

.
vicjamlegal02 escribió:A que se refiere que resulta mas sencillo trabajar con las primeras hojas...

Jajjjajajja... ¡Te desorienté por completo!... ¿No?...

En el archivo que adjunto ex-profeso "inventé" tres diferencias. Observa:

MarkUp .xlsm

- Que sencillo es encontrar las diferencias, y
- Con que "limpieza se las muestra" pues no hay que estar recorriendo todo el archivo para visualizar las de "otro color".

¿Comentas?...
Saludos, Cacho R.
.
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
Avatar de Usuario
Cacho R
Miembro Frecuente
Miembro Frecuente
 
Mensajes: 10308
Registrado: 23 Jun 2011 17:15
Ubicación: Buenos Aires

Re: Ayuda con una macro (Ya tengo avance)

Notapor vicjamlegal02 » 02 Oct 2018 16:38

La verdad si que me desoriento, pero ya entendi su idea, esta un poco fuera de lo que estoy buscando mire le adjunto estos 3 archivos que es lo que hay hasta el momento (libro1 jba) es el archivo que contiene numeros de parte "viejos", (libro2 e1) contiene numeros de parte "actualizados" la macro lo que debe de realizer es comparar ambos archivos fila por fila si es diferente debe de marcar en ambos archivos que ha existido una modificacion y marca esta parte "de un cierto color" (todo esto la macro ya lo hace), el archivo que lo realiza se llama (Markup actualizada) que es lo que llevo hasta el momento, solo me falta confirmar los colores (aun no me dicen que colores utilizar) pero esta es lo que me estan pidiendo mas o menos.
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
vicjamlegal02
Miembro Frecuente
Miembro Frecuente
 
Mensajes: 11
Registrado: 24 Sep 2018 01:08

Re: Ayuda con una macro (Ya tengo avance)

Notapor Cacho R » 02 Oct 2018 16:51

.
Si mirás con atención verás que lo que te pasé se basa en las dos primeras hojas de los archivos: ¡No se necesita más!... ¿Sos conciente del trabajo que lleva elaborar esas segundas hojas?...

Tus jefes te pidieron eso de los colores porque no saben que las cosas pueden hacerse con mayor simpleza.
En resumen: quieren saber que cambió entre un conjunto de datos y el otro... ¡Y eso es lo que te muestra la solución aportada!

Desde mi punto de vista, y si les mostraras a tus jefes lo que te he pasado, obtendrás un rápido ascenso en tu trabajo. :wink: :mrgreen:
Caso contrario: utiliza lo elaborado por el Gran Antoni (de la Gente).
.
Avatar de Usuario
Cacho R
Miembro Frecuente
Miembro Frecuente
 
Mensajes: 10308
Registrado: 23 Jun 2011 17:15
Ubicación: Buenos Aires

Re: Ayuda con una macro (Ya tengo avance)

Notapor vicjamlegal02 » 03 Oct 2018 12:15

Antoni escribió:
vicjamlegal02 escribió:De hecho se arcerca bastante a lo que he pedido, Muchas Gracias Antoni como siempre!
Si tengo alguna otra duda, le puedo preguntar ?


Aquí estaremos.

Hola antoni, tengo una duda, se puede hacer que la macro si detecta un numero de parte "Columna A" no esta en un archivo (mande una ventana, y diga "Este numero de parte "Y diga cual numero de parte" no se encuentra en el libro 1jba, o libro2 e1"
Otra duda si en la columna "A" marca una diferencia, no puede ser posible que diga especificamente en donde?, quiero decir:
032271128222K
032271128222K12 (que esa parte que es diferente lo marque con negrita)
Le adjunto el archivo de la macro ojala y me pueda auxiliar :D
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
vicjamlegal02
Miembro Frecuente
Miembro Frecuente
 
Mensajes: 11
Registrado: 24 Sep 2018 01:08

Re: Ayuda con una macro (Ya tengo avance)

Notapor Antoni » 03 Oct 2018 15:41

La primera parte de tu pregunta no la entiendo, sube un ejemplo de lo que pretendes, para la segunda parte de la pregunta, sustituye la macro existente por esta:

Código: Seleccionar todo
Private Sub Resaltar(CeldaA As Range, CeldaB As Range, Kolor As Long)
Dim PA As Variant, PB As Variant, xA As Integer, xB As Integer, PalabrasOK As Integer
PA = Split(Trim(CeldaA), " ")
PB = Split(Trim(CeldaB), " ")
CeldaB.Interior.Color = vbYellow
CeldaB.Font.Color = Kolor
CeldaB.Font.Bold = True
For xA = 0 To UBound(PA)
   For xB = 0 To UBound(PB)
      If PA(xA) = PB(xB) Then
         i = InStr(CeldaB, PA(xA) & " ")
         If i = 0 Then i = InStr(CeldaB, PA(xA))
         PalabrasOK = PalabrasOK + 1
         CeldaB.Characters(i, Len(PA(xA))).Font.Color = vbBlack
         CeldaB.Characters(i, Len(PA(xA))).Font.Bold = False
         Exit For
      End If
   Next
Next
If PalabrasOK = UBound(PA) + 1 Then 'Modificado desde aquí hasta el final
   CeldaB.Interior.ColorIndex = xlNone
Else
   If CeldaA.Column = 1 Then
      For i = 1 To Len(CeldaA)
         If Mid(CeldaB, i, 1) = Mid(CeldaA, i, 1) Then
            CeldaB.Characters(i, 1).Font.Color = vbBlack
            CeldaB.Characters(i, 1).Font.Bold = False
         End If
      Next
   End If
End If
End Sub
Avatar de Usuario
Antoni
Miembro Frecuente
Miembro Frecuente
 
Mensajes: 5572
Registrado: 22 Dic 2009 04:58
Ubicación: GALICIA (ESPAÑA)

Re: Ayuda con una macro (Ya tengo avance)

Notapor vicjamlegal02 » 04 Oct 2018 02:50

Si quiere vamos a dejar esa loca idea atrás, fue algo que se me vino a la mente, no tiene mucha importancia hasta el momento
Tengo otra duda se puede hacer que la macro en vez de hacer la comparacion linea por linea es decir
Fila A (libro1 jba) vs Fila A(Libro2 e1) y asi sucesivamente, haga la comparacion en base a todo el contenido que contiene el libro dentro de ella, sin importar que esten en desorden los numeros de parte por ejemplo:
Si este numero de parte "0322683487104K" esta en la Fila no. 1 (en el libro 1 jba)
y este mismo numero de parte "0322683487104K" esta en la Fila no. 6 (en el libro 2 e1)
No debe de marcarlo como erroneo, me quiero referir a que hay archivos que traen desordenados los numeros de parte, entonces dije "los ordeno y ya esta"(asunto arreglado) pero no.. que va a pasar cuando el libro 1 jbatenga 140 columnas vs 139 columnas del libro 2 e1 va a llegar en un punto donde la macro va a marcarme la mitad del documento como si fueran numeros de parte erroneos ya que (pongamos un ejemplo):
fila 3 libro1 jba vs fila3 libro2 e1 son diferentes, pero este numero de parte esta situado en la fila5 del libro2 e1 entonces va a comenzar arrojarme infinidad de errores los cuales no debe de arrojar como voy a saber cual es el numero de parte que ha sido agregado o quitado, es por eso que le pregunto se puede hacer que la macro sea un comparador de contenido y no un comparador de fila por fila, yo se que cuando pedi ayuda especifique fila por fila, pero ya viendo los distintos escenarios que la macro puede enfrentar me puse a pensar en esto, se puede hacer algo al respecto Antoni?
vicjamlegal02
Miembro Frecuente
Miembro Frecuente
 
Mensajes: 11
Registrado: 24 Sep 2018 01:08

Re: Ayuda con una macro (Ya tengo avance)

Notapor Antoni » 04 Oct 2018 07:04

No hay cosa peor que no tener claro lo que se quiere.
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
Avatar de Usuario
Antoni
Miembro Frecuente
Miembro Frecuente
 
Mensajes: 5572
Registrado: 22 Dic 2009 04:58
Ubicación: GALICIA (ESPAÑA)

Re: Ayuda con una macro (Ya tengo avance)

Notapor vicjamlegal02 » 04 Oct 2018 10:48

Que tal Antoni disculpe a ver va de nuevo:
Sabemos que la macro lo que realiza es una comparacion fila por fila (captura1, la adjunto en el archivo zip), entonces mi pregunta es la siguiente, se puede hacer que la macro en vez de realizar la comparacion fila por fila lo haga de manera que la fila 1 se compare con todas las demas filas (captura2, la adjunto en el archivo zip) porque?
Bueno la idea es que por ejemplo si un numero de parte viene en una fila diferente (captura3) puede observar que si la macro la corremos va a dar este resultado (captura4) lo que busco es que no de este tipo de resultado debido a que vamos a tener escenarios en donde el archivo libro1 jba va a traer mas contenido respecto a libro2 e1
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
vicjamlegal02
Miembro Frecuente
Miembro Frecuente
 
Mensajes: 11
Registrado: 24 Sep 2018 01:08

Re: Ayuda con una macro (Ya tengo avance)

Notapor vicjamlegal02 » 04 Oct 2018 10:49

vicjamlegal02 escribió:Que tal Antoni disculpe a ver va de nuevo:
Sabemos que la macro lo que realiza es una comparacion fila por fila (captura1, la adjunto en el archivo zip), entonces mi pregunta es la siguiente, se puede hacer que la macro en vez de realizar la comparacion fila por fila lo haga de manera que la fila 1 se compare con todas las demas filas (captura2, la adjunto en el archivo zip) porque?
Bueno la idea es que por ejemplo si un numero de parte viene en una fila diferente (captura3) puede observar que si la macro la corremos va a dar este resultado (captura4) lo que busco es que no de este tipo de resultado debido a que vamos a tener escenarios en donde el archivo libro1 jba va a traer mas contenido respecto a libro2 e1

Disculpe no adjunte las imagenes aqui estan
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
vicjamlegal02
Miembro Frecuente
Miembro Frecuente
 
Mensajes: 11
Registrado: 24 Sep 2018 01:08

Siguiente

Volver a Macros

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 15 invitados