Buscar y sacar aparte las referencias de dos columnas
Buenos días ... Ojala me pueda ayudar... Tengo dos libros en cada libro hay una columna de números (referencias) necesito sacar las referencias que se encuentran en las dos columnas y colocarlas en otro libro nuevo pero con las demás columnas que me indican (talla, referencia, color) gracias por tu ayuda
Respuesta de paramisolo
1
1
paramisolo, Desconozco temas financieros
Poquitas aclaraciones para tanto código, tenemos que suponer un montón de cuestiones para ayudarte:
1º Nombre del Libro1 (lo cambias tú por el tuyo)
2º Nombre del Libro2 ( lo cambias tú por el tuyo)
3º Nombre del nuevo libro el que te dé Excel si quieres le cambias el nombre en la macro.
4º Nombre de las hojas donde están los datos (...)
5º Rango de celdas donde están los códigos (...)
6º Columnas que quieres copiar (...)
7º Directorio donde están los Libros como no lo se en el mismo directorio te pongo el nuevo
Y ahora que columnas me tengo que llevar al Libro nuevo las del Libro1 o las del Libro2.
Necesito aclaraciones para hacer esto.
>Un saludo
>Julio
1º Nombre del Libro1 (lo cambias tú por el tuyo)
2º Nombre del Libro2 ( lo cambias tú por el tuyo)
3º Nombre del nuevo libro el que te dé Excel si quieres le cambias el nombre en la macro.
4º Nombre de las hojas donde están los datos (...)
5º Rango de celdas donde están los códigos (...)
6º Columnas que quieres copiar (...)
7º Directorio donde están los Libros como no lo se en el mismo directorio te pongo el nuevo
Y ahora que columnas me tengo que llevar al Libro nuevo las del Libro1 o las del Libro2.
Necesito aclaraciones para hacer esto.
>Un saludo
>Julio
Gracias por tu ayuda
1º Nombre del Libro1 (lo cambias tú por el tuyo)(CABECERA)
2º Nombre del Libro2 ( lo cambias tú por el tuyo)(CODIGO102901)
3º Nombre del nuevo libro el que te dé Excel si quieres le cambias el nombre en la macro.(Ok)
4º Nombre de las hojas donde están los datos CABECERA el nombre es (Cod. Barra)
Y en Código 102901 es (Códigos de Barra)
5º Rango de celdas donde están los códigos CABECERA va desde A2 hasta A1311 y en Código 102901 va B3 hasta B316
6º Columnas que quieres copiar (como en CABECERA esta la base de datos que necesito Código de Barras, Nombre del producto, Color, Referencia y Talla, pero en Código 102901 esta los códigos de barras que verdaderamente tengo que utilizar junto con otras columnas que son SKU y descripción del articulo) ahora bien mi tarea es abrir un nuevo libro junto con los códigos de barras que están en código 102901 junto con su SKU y Descripción del articulo y ademas anexarle el Nombre del producto, color, referencia y talla que se encuentran en la base de datos total que esta en Cabecera...
7º Directorio donde están los Libros como no lo se en el mismo directorio te pongo el nuevo
Y ahora que columnas me tengo que llevar al Libro nuevo las del Libro1 o las del Libro2.
Necesito aclaraciones para hacer esto.
Te agradezco no se si me hice entender
1º Nombre del Libro1 (lo cambias tú por el tuyo)(CABECERA)
2º Nombre del Libro2 ( lo cambias tú por el tuyo)(CODIGO102901)
3º Nombre del nuevo libro el que te dé Excel si quieres le cambias el nombre en la macro.(Ok)
4º Nombre de las hojas donde están los datos CABECERA el nombre es (Cod. Barra)
Y en Código 102901 es (Códigos de Barra)
5º Rango de celdas donde están los códigos CABECERA va desde A2 hasta A1311 y en Código 102901 va B3 hasta B316
6º Columnas que quieres copiar (como en CABECERA esta la base de datos que necesito Código de Barras, Nombre del producto, Color, Referencia y Talla, pero en Código 102901 esta los códigos de barras que verdaderamente tengo que utilizar junto con otras columnas que son SKU y descripción del articulo) ahora bien mi tarea es abrir un nuevo libro junto con los códigos de barras que están en código 102901 junto con su SKU y Descripción del articulo y ademas anexarle el Nombre del producto, color, referencia y talla que se encuentran en la base de datos total que esta en Cabecera...
7º Directorio donde están los Libros como no lo se en el mismo directorio te pongo el nuevo
Y ahora que columnas me tengo que llevar al Libro nuevo las del Libro1 o las del Libro2.
Necesito aclaraciones para hacer esto.
Te agradezco no se si me hice entender
En tu libro CABECERA que columnas hay que copiar desde la A hasta donde y en tu libro Código 10291 los código están en la Col B que hay que comparar con la Col A de CABECERA pero hay que tomar alguna Col más del libro Código 10291.
Aclarame esto
>Un saludo
>Julio
Aclarame esto
>Un saludo
>Julio
Hola en tu libro CABECERA que columnas hay que copiar desde la A hasta donde y en tu libro Código 10291 los código están en la Col B que hay que comparar con la Col A de CABECERA pero hay que tomar alguna Col más del libro Código 10291.
Aclarame esto
Ok.. en CABECERA las columnas que tengo que copiar son A (Código de barras, esa es la que hay que comparar), B, C, DE y E y en el libro Código 102901 la columnas B es la que hay que comparar y tomar también la columna A, B (Código de barras, esa es la que hay que comparar) y C
Libro Código 102901
A B C
sku código de barras descripción del articulo 485428 7703613747074 camiseta manga larga ref. 6602 485429 7703613927728 CAMISETA T-SHIRT CUELLO TEJIDO 485430 7703613747531 CAMISETA T-SHIRT CUELLO REDOND 485431 7703613926332 LEGGINS PRETENIDO REF. 67119 485434 7703613752733 CAMISETA T-SHIRT CUELLO REDOND
Libro Cabecera
A B C D E
Cod. Barra Nombre del producto Color Ref. Provd. Talla 7704497911568 P/CILLO 203 AZUL OSCURO 10234 30 7704497911575 P/CILLO 203 AZUL OSCURO 10566 32 7704497911582 P/CILLO 203 AZUL OSCURO 10234 34 7704497911599 P/CILLO 203 AZUL OSCURO 10015 36 7704497911605 P/CILLO 203 AZUL OSCURO 10045 38 7704497911612 P/CILLO 203 AZUL OSCURO 10566 40
En Cabecera están todos los códigos de barras, pero lo que necesito sacar de Cabecera son los códigos de barras que están en Código 102901, junto con las columnas que te nombre de los dos libros...
Mil gracias
Aclarame esto
Ok.. en CABECERA las columnas que tengo que copiar son A (Código de barras, esa es la que hay que comparar), B, C, DE y E y en el libro Código 102901 la columnas B es la que hay que comparar y tomar también la columna A, B (Código de barras, esa es la que hay que comparar) y C
Libro Código 102901
A B C
sku código de barras descripción del articulo 485428 7703613747074 camiseta manga larga ref. 6602 485429 7703613927728 CAMISETA T-SHIRT CUELLO TEJIDO 485430 7703613747531 CAMISETA T-SHIRT CUELLO REDOND 485431 7703613926332 LEGGINS PRETENIDO REF. 67119 485434 7703613752733 CAMISETA T-SHIRT CUELLO REDOND
Libro Cabecera
A B C D E
Cod. Barra Nombre del producto Color Ref. Provd. Talla 7704497911568 P/CILLO 203 AZUL OSCURO 10234 30 7704497911575 P/CILLO 203 AZUL OSCURO 10566 32 7704497911582 P/CILLO 203 AZUL OSCURO 10234 34 7704497911599 P/CILLO 203 AZUL OSCURO 10015 36 7704497911605 P/CILLO 203 AZUL OSCURO 10045 38 7704497911612 P/CILLO 203 AZUL OSCURO 10566 40
En Cabecera están todos los códigos de barras, pero lo que necesito sacar de Cabecera son los códigos de barras que están en Código 102901, junto con las columnas que te nombre de los dos libros...
Mil gracias
He tenido que replantear todo el asunto pero y está, mira en tu libro Cabecera dibujas un botón y pinchas con el derecho y eliges Ver código y en la pantalla que aparece pones esta macro sin la 1º y ultima linea que ya la pone Excel:
Private Sub CommandButton1_Click()
Call Comparar_Unir
End Sub
Ahora en la misma pantalla en la columna de la izquierda donde están los iconos de las hojas pinchas encima de uno con el derecho y eliges Insertar módulo, y en la ventana en blanco que aparece pegas esta macro:
Sub Comparar_Unir()
Dim cod, ref, talla As Integer
Dim sku As String
Dim nomb, col, des As String
Application.ScreenUpdating = False
On Error Resume Next
ChDir "C:\Libros"
Workbooks.Open Filename:="C:\Libros\Codigo 102901.xls"
Workbooks.Open Filename:="C:\Libros\Resumen.xls"
Windows("CABECERA.xls").Activate
Sheets("Hoja1").Select
Range("A2").Select
Do While ActiveCell.Value <> ""
cod = ActiveCell.Value
nom = ActiveCell.Offset(0, 1).Value
col = ActiveCell.Offset(0, 2).Value
ref = ActiveCell.Offset(0, 3).Value
talla = ActiveCell.Offset(0, 4).Value
ActiveWindow.WindowState = xlMinimized
Windows("Codigo 102901.xls").Activate
ActiveWindow.WindowState = xlMaximized
Sheets("Hoja1").Select
Range("B1").Select
Do While ActiveCell.Value <> cod
If ActiveCell.Value = "" Then
MsgBox "El codigo " & cod & " no se encuentra en el Libro Codigo 102901.xls"
GoTo Cambia
End If
ActiveCell.Offset(1, 0).Select
Loop
If ActiveCell.Value = cod Then
sku = ActiveCell.Offset(0, -1).Value
des = ActiveCell.Offset(0, 1).Value
ActiveWindow.WindowState = xlMinimized
Windows("Resumen.xls").Activate
ActiveWindow.WindowState = xlMaximized
Sheets("Hoja1").Select
Range("A1").Select
Do While ActiveCell.Value <> ""
ActiveCell.Offset(1, 0).Select
Loop
ActiveCell.Value = cod
ActiveCell.Offset(0, 1).Value = nom
ActiveCell.Offset(0, 2).Value = col
ActiveCell.Offset(0, 3).Value = ref
ActiveCell.Offset(0, 4).Value = talla
ActiveCell.Offset(0, 5).Value = sku
ActiveCell.Offset(0, 6).Value = des
ActiveCell.Offset(1, 0).Select
End If
Cambia:
ActiveWindow.WindowState = xlMinimized
Windows("CABECERA.xls").Activate
ActiveWindow.WindowState = xlMaximized
ActiveCell.Offset(1, 0).Select
Loop
ActiveWindow.WindowState = xlMinimized
Windows("Resumen.xls").Activate
ActiveWindow.WindowState = xlMaximized
ActiveWorkbook.Save
Application.ScreenUpdating = True
End Sub
Te explico creas un Libro nuevo al cual le pones el nombre de "Resumen" (sin las comillas) y en las cabeceras (fila 1) pones estos valores
A B C D E F G
Cod. barra nombre del producto color ref. Provd. Talla sku descripción del articulo
Lo guardas y lo cierras, ahora creas una carpeta que se llame "Libros" ( sin comillas) y en la carpeta pones los 3 Libros "CABECERA", "Código 102901" y "Resumen" y la carpeta la pones en la raíz de la unidad C ( Todo esto para que no tengas que tocar la macro, si sabes pues cambia los nombres y la ruta de los archivos, pero según te lo pongo siempre que te lleves la carpeta Libros a otro PC y la pongas en la unidad C te funcionará correctamente la macro.
Cuando ya tengas la carpeta en C y en ella los 3 Libros abres tu Libro CABECERA y pulsas el botón, pues bien la macro trabajará sin que la veas y cuando termine te mostrará tu Libro Resumen con los datos importados desde los otros 2 Libros y estará ya guardado simplemente para que lo cierres. La macro está estudiada para si no encuentra un código del Libro CABECERA en el libro Código 102901 no dé error y siga buscando códigos y te avise que ese código no se encuentra en el Libro Código 102901.
>Un saludo
>Julio
PD: Si tienes alguna consulta me lo dices, si te ha servido comenta, puntúa y finaliza la consulta.
Private Sub CommandButton1_Click()
Call Comparar_Unir
End Sub
Ahora en la misma pantalla en la columna de la izquierda donde están los iconos de las hojas pinchas encima de uno con el derecho y eliges Insertar módulo, y en la ventana en blanco que aparece pegas esta macro:
Sub Comparar_Unir()
Dim cod, ref, talla As Integer
Dim sku As String
Dim nomb, col, des As String
Application.ScreenUpdating = False
On Error Resume Next
ChDir "C:\Libros"
Workbooks.Open Filename:="C:\Libros\Codigo 102901.xls"
Workbooks.Open Filename:="C:\Libros\Resumen.xls"
Windows("CABECERA.xls").Activate
Sheets("Hoja1").Select
Range("A2").Select
Do While ActiveCell.Value <> ""
cod = ActiveCell.Value
nom = ActiveCell.Offset(0, 1).Value
col = ActiveCell.Offset(0, 2).Value
ref = ActiveCell.Offset(0, 3).Value
talla = ActiveCell.Offset(0, 4).Value
ActiveWindow.WindowState = xlMinimized
Windows("Codigo 102901.xls").Activate
ActiveWindow.WindowState = xlMaximized
Sheets("Hoja1").Select
Range("B1").Select
Do While ActiveCell.Value <> cod
If ActiveCell.Value = "" Then
MsgBox "El codigo " & cod & " no se encuentra en el Libro Codigo 102901.xls"
GoTo Cambia
End If
ActiveCell.Offset(1, 0).Select
Loop
If ActiveCell.Value = cod Then
sku = ActiveCell.Offset(0, -1).Value
des = ActiveCell.Offset(0, 1).Value
ActiveWindow.WindowState = xlMinimized
Windows("Resumen.xls").Activate
ActiveWindow.WindowState = xlMaximized
Sheets("Hoja1").Select
Range("A1").Select
Do While ActiveCell.Value <> ""
ActiveCell.Offset(1, 0).Select
Loop
ActiveCell.Value = cod
ActiveCell.Offset(0, 1).Value = nom
ActiveCell.Offset(0, 2).Value = col
ActiveCell.Offset(0, 3).Value = ref
ActiveCell.Offset(0, 4).Value = talla
ActiveCell.Offset(0, 5).Value = sku
ActiveCell.Offset(0, 6).Value = des
ActiveCell.Offset(1, 0).Select
End If
Cambia:
ActiveWindow.WindowState = xlMinimized
Windows("CABECERA.xls").Activate
ActiveWindow.WindowState = xlMaximized
ActiveCell.Offset(1, 0).Select
Loop
ActiveWindow.WindowState = xlMinimized
Windows("Resumen.xls").Activate
ActiveWindow.WindowState = xlMaximized
ActiveWorkbook.Save
Application.ScreenUpdating = True
End Sub
Te explico creas un Libro nuevo al cual le pones el nombre de "Resumen" (sin las comillas) y en las cabeceras (fila 1) pones estos valores
A B C D E F G
Cod. barra nombre del producto color ref. Provd. Talla sku descripción del articulo
Lo guardas y lo cierras, ahora creas una carpeta que se llame "Libros" ( sin comillas) y en la carpeta pones los 3 Libros "CABECERA", "Código 102901" y "Resumen" y la carpeta la pones en la raíz de la unidad C ( Todo esto para que no tengas que tocar la macro, si sabes pues cambia los nombres y la ruta de los archivos, pero según te lo pongo siempre que te lleves la carpeta Libros a otro PC y la pongas en la unidad C te funcionará correctamente la macro.
Cuando ya tengas la carpeta en C y en ella los 3 Libros abres tu Libro CABECERA y pulsas el botón, pues bien la macro trabajará sin que la veas y cuando termine te mostrará tu Libro Resumen con los datos importados desde los otros 2 Libros y estará ya guardado simplemente para que lo cierres. La macro está estudiada para si no encuentra un código del Libro CABECERA en el libro Código 102901 no dé error y siga buscando códigos y te avise que ese código no se encuentra en el Libro Código 102901.
>Un saludo
>Julio
PD: Si tienes alguna consulta me lo dices, si te ha servido comenta, puntúa y finaliza la consulta.
- Compartir respuesta
- Anónimo
ahora mismo