Saltar al contenido

Copiar datos de un libro y crear otro


Joacoparodi20

Recommended Posts

publicado

Buenas tardes, quiero crear una macro que copie los datos de un libro y automáticamente cree otro pegando los datos en sus respectivos lugares siguiendo un diseño preestablecido y luego guarde ese libro nuevo con el nombre de una celda (O más celdas si es posible).

- La macro debería tomar los datos que están en la Hoja2 en el ejemplo (Estarían en la Hoja1 de un nuevo libro en la realidad).

- No sé si los datos se pueden pegar en celdas combinadas, ya que los libros nuevos deberían tener ese tipo de celdas.

- Por cada linea de fila, se debería crear un libro nuevo.

- Los datos a copiar de la Hoja1 a cada libro nuevo que se cree, serían: 

Hoja1    LibroNuevo-Hoja1

A2         A1

B2         A4

C2         D4

D2         G4

E2          K4

F2          T4

G2         X4

H2         AA4

I2          D1

J2          AJ1

K2          AJ4

L2          AJ5

Adjunto un ejemplo. Si alguien puede ayudarme estaría muy agradecido. Desde ya muchas gracias.

Ejemplo.xlsm

publicado

Joacoparodi20 Te reenvío tu fichero de ejemplo con unos códigos que quizás puedan dar solución a tu problema. Inserte 3 botones cada uno con una función especificada. No me quedo claro si quieres crear un libro independiente para cada fila de la lista, o un libro con varias hojas donde cada hoja sea una planilla con los datos de cada fila, o quieres hacerlo para todas las filas o solo las que selecciones, en fin en función de lo que se desees  sería necesario hacer un bucle para integrar los códigos. También sería bueno saber si se desea guardar el libro (o los libros) en una carpeta específica. Espero haberte podido ayudar en algo.

EjemploJeacop.xlsm

publicado

Lenine, primero que nada muchas gracias por tu aporte.

Me gustaría que me expliques para que sirven los botones que agregaste.

Paso a responder tus dudas:

- Quiero que la macro tome los datos de cada fila y cree un nuevo libro independiente por cada fila con ese formato de planilla que envié.

- En lo posible sería bueno que no existan botones y las funciones se vayan ejecutando a medida que voy ingresando datos nuevos, es decir, que cada dato se agregue automáticamente a la planilla y cuando cambie de fila se guarde.

- Por lo pronto me gustaría guardar los libros en una carpeta en el escritorio llamada "Partidos".

Muchas gracias, saludos.

publicado

ok los botones los puse provicional para probar el funcionamiento de los códigos pues como te dije tenia algunas dudas que me surgieron pero lo fundamental me funciono, tan pronto tenga un chance tratare de ver si te puedo completar la parte que falta porque hoy y quizás mañana estaré ocupado y no se si me de el tiempo.Si quieres mándame tu correo y cualquier duda nos podemos comunicar mas rápido por esa vía. Yo estoy en Stgo de Chile no se donde tu estas, pero si tienes WhatsApp o facebook me puedes enviar tu numero de celular o nombre de usuario de fb  podemos comunicarnos  mas rápido en caso de que aparezca una duda, pues yo no se moverme muy bien en el foro porque soy nuevo y por casualidad entre a ver si alguien me había dado respuesta de  una consulta que hice en días atrás y revise lo tuyo.Te digo entre  de casualidad, porque logre resolver el problema que tenia pero independientemente de que ya resolví lo mio,voy a tratar por todos los medios de ver como te puedo ayudar a resolver lo tuyo y en el menor tiempo posible. Saludos 

publicado

Joacoparodi20 

Para poder terminarte el trabajo cree una carpeta con el nombre de Partidos  en el directorio C y ahí es donde se crean los diferentes libros con la planilla llenada con los datos de cada fila. Estos libros se diferencian por el nombre del país. Realmente desconozco la ubicación de la carpeta escritorio de tu PC, no sé qué versión de Windows tienes instalada (i tampoco que versión del office tienes). Yo lo probé en mi PC que tiene Windows XP  y office 2007( te darás cuenta que estoy  un poco atrasado tecnológicamente)y funcionan a la perfeccion.Si quieres puedes abrir una carpeta con el nombre de Partidos  en C ,o ajustar la macro con la ubicación de tu escritorio o en cualquier otro directorio que desees, solo tienes que entrar en el Editor del VBA y cambiar en la macro    Sub CreaLibroNuevo(wNombre)  la parte del código que aparece debajo  rallada, o sea el dirctorio C:\Partidos\  por la ubicación donde se encuentra la carpeta escritorio en tu maquina o donde quieres que se creen los libros.

…………..

ActiveWorkbook.SaveAs Filename:="C:\Partidos\" & wNombre & ".xlsm", FileFormat _

        :=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False

…………..

Te comento que no es buena práctica (aunque la mayoría lo hacen) poner carpetas y ficheros en el escritorio, lo recomendable por un problema de seguridad es  tener accesos directos a nuestras carpetas o ficheros. Además si son muchas filas, llenaras tu pantalla de Libros de Excel

El botón que aparece es para hacer funcionar la macro que genera los libros, lo puedes eliminar haciendo clic derecho sobre él  y oprimiendo la tecla DEL (Supr,Borrar).

 En tu mensaje  de aclaración me planteas:

1-    Quiero que la macro tome los datos de cada fila y cree un nuevo libro independiente por cada fila con ese formato de planilla que envié. Entiendo que debe recorrer todas las filas e ir creando un libro para cada fila

2-     En lo posible sería bueno que no existan botones y las funciones se vayan ejecutando a medida que voy ingresando datos nuevos, es decir, que cada dato se agregue automáticamente a la planilla y cuando cambie de fila se guarde. En este caso entiendo que la creación del libro seria después de  completar la fila (tomaría los datos de la última fila al terminar de escribirla) y no como dice arriba de cada fila. Además considero que es mejor que tu decidas a través de un botón cdo se generara el libro (hacer clic después de terminar de escribir la fila) y no automáticamente pues te da la posibilidad de equivocarte y poder rectificar( tendrías el control de cdo se crearía el libro) pues no es muy engorroso al terminar de escribir la fila y después de revisar cuidadosamente los datos, hacer un clic para mandar a crear el correspondiente libro; de forma automática si cometes un error de escritura quizás después tengas que ir al libro a corregirlo.

Yo como no tengo forma de comunicarme contigo y  no tengo mucho tiempo te genere dos variantes y tu utiliza o ajusta la que más te convenga. Saludos Lenine

 

V1Recorretodaslas filas.xlsm

V2UltimaFilaescrita.xlsm

  • 2 weeks later...
publicado

Buenas noches Lenine.

Espero entiendas mi tardanza al responder el mensaje, pero hace días no entro al foro y no me llegó ningún mail avisando que habías respondido.

Yo estoy en Uruguay, soy novato en el foro también por lo tanto no me sé manejar muy bien. Mi Whatsapp es +598 91 259 440 y mi mail es joacoparodi20@gmail.com

Sé que no es recomendable tener la carpeta en el escritorio, pero la idea de que se encuentre en el escritorio es por una cuestión de comodidad para no estar buscando en donde la tengo.

Por otro lado no habría problema con que se llene la pantalla de libros excel, porque estarían dentro de una carpeta y usaría la barra de scroll para desplazarme.

Te comento que me aparecen dos botones, uno "Para crear los libros" y otro "Ejecutar". Me gustaría si me podes explicar para que sirve cada uno de ellos y cual debo presionar primero para que se cree el libro correctamente.

Cuando le doy click al botón "Para crear los libros" me dice que demorará unos minutos, pero pasan muchos minutos y nunca termina de ejecutarse, queda ahí cargando.

Tampoco entendí cual es la diferencia entre un archivo y otro, ya que ambos tienen los mismos botones.

Algunos datos que quizás te sean de ayuda:

- Tengo Windows 10 y Office 2013

- La carpeta se encuentra en esta dirección: C:\Users\ACER\Desktop\Partidos

 

Muchas gracias por tomarte tu tiempo para responder y realizar mi macro. Saludos

  • 4 weeks later...

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.