Saltar al contenido

Macro - Copiar varias columnas a otro libro


Recommended Posts

publicado

Buenas tardes,

Tengo un libro con una serie de datos, nombre, compañía, teléfono, email (libro1.xlsx). Las columnas son fijas, 17 en total, pero las filas siempre varían, pueden ser 100 o 1.000

Tengo otro libro que es una plantilla en la que se debe pegar los datos del libro1.xlsx(libro2.xlsx). Las columnas del libro2.xlsx son fijas pero no son las mismas que las del libro1.xlsx

¿Qué necesito?

Pegar cada columna del libro1 en su columna par del libro2 con una macro.

Por ejemplo,

En la columna A del libro1 tengo First Name y en el libro2 en la columna N tengo First_Name, así que debo pegar A de libro1 en N de libro2. Y así sucesivamente con cada columna.

Espero haber sido clara y que alguien me pueda prestar su valiosa ayuda.

Saludos,

Janneth

jannethps_270113.zip

publicado

Buenas, Janneth

El principal problema que se te presenta es asegurar que el nombre de las columnas en ambos archivos es el mismo, porque he visto que por ejemplo en uno aparece Company Name y en el otro aparece Company_Name........que no es el mismo dato.....

Otra opción, más engorrosa, sería asociar una a una las columnas del 1 al 2, por ejemplo, mediante un listado que dijera: la Columna A del 1 va a la Columna D del 2, y así sucesivamente hasta tener todas las columnas......

Un saludo,

Tese

publicado

Muchas gracias por tu respuesta Tese,

La segunda opción me funciona perfectamente, con la limitante de tener que hacerlo todo manual.

Espero más adelante poder encontrar otra solución pero por lo pronto esta hace lo que necesito.

Gracias por tu tiempo e interes.

Janneth

publicado

Buenas, Janneth

Pero no quieres hacerlo con código? yo te sugería la segunda opción pero para que pudiéramos montar algo automático, solo necesitaría que tú construyeses un pequeño cuadrito con la información de en qué columna del 2 va la información de cada columna del 1.........y lo importante es saber si ese archivo 2 podría tener ya información previa o siempre estaría vacío.....ya que a la hora de montarlo no es lo mismo....

Lo que necesitas es muy sencillo en cuanto a código (en el fondo es pasar información de un sitio a otro, nada más), pero dónde debe ir la información solo lo sabes tú......de ahí que te pida esa información....

En fin, tú decides....

Un saludo,

Tese

publicado

Hola,

Sorry que no me hice entender, ya hice una macro con tu segunda opción, puse la conexión manualmente entre cada columna del libro1 con su correspondiente en el libro2.

Esperaba que lo pudiera hacer de una manera más "automática" y no uno a uno. A eso me refería con manual :)

Después de abrir los libros:

'First Name

Windows(libro1).Activate

Range("A2:A1000").Select

Selection.Copy

Windows("libro2.xls").Activate

Sheets("hoja1").Select

ActiveWindow.SmallScroll ToRight:=7

Range("N2").Select

ActiveSheet.Paste

Y así por cada columna... Funciona sin problemas.

Y después de esto creo otro libro con el resultado y ya, el libro2 siempre va a iniciar vacío.

Lo único que no sé cómo hacer, es obtener el rango del libro1... no sé cuántas filas va a tener, así que mientras tanto puse mil. Son archivos variables, cada semana llega uno nuevo.

En muchos casos algunas celdas van a estar vacías, entonces no puedo limitar a que encuentre la primera celda vacía en alguna columna.

Agradezco tus ideas en esta parte...

Saludos,

Janneth

publicado

Buenas, Janneth.......

Siento que hayas tenido que hacer todo eso a mano........En el fondo era mucho más sencillo a través de un bucle....por lo que si quieres modificarlo se puede intentar algo, aunque necesitaría la información que te comenté.....

En vez de encontrar la primera celda vacía, puedes intentar a encontrar la última celda con datos de la columna.....que es diferente y te funcionaría perfecto......o eso creo......jejejeje.....

Y sabiendo que está vacío el archivo 2 (desde la fila 2, imagino....las cabeceras deben estar) es más sencillo al poder copiar y pegar de una vez........

Un saludo,

Tese

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.