Excel - Macro para copiar hojas de libro excel con nombre y fecha

   
Vista:

Macro para copiar hojas de libro excel con nombre y fecha

Publicado por Angel (14 intervenciones) el 13/02/2018 10:02:23
Hola, buenos dias, tengo un libro excel con diferentes hojas, podria crear una macro que me copiara varias hojas a hojas nuevas y las guardara con el nombre de la hoja y añadiendole la fecha del dia? o mejor aun... la fecha del dia+4 dias

Imaginaros... : NOMBRE DE HOJAS

AFRICA
SEVILLA
CEUTA

Y quiero hacer un boton para añadirle una macro que al pulsarla me copie el contenido de la hoja africa en una nueva y que se llame africa-19.02.2018 por ejemplo.... y asi con diferentes hojas.

Gracias de antemano por vuestra ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de wordexperto.com

Macro para copiar hojas de libro excel con nombre y fecha

Publicado por wordexperto.com (1458 intervenciones) el 13/02/2018 12:31:16
No tengas tantos libros ni hojas. Añade columnas por el criterio que uses para dividir en libros y hojas (Continente y Fecha). En una hoja te caben 1048576 filas sin complementos. A ser posible, un solo libro con dos hojas. Una para la base de datos y otra para los informes con Tablas dinámicas, sin necesidad de tantos libros con macros y fórmulas. Eficiencia y productividad.
https://wordexperto.com/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Macro para copiar hojas de libro excel con nombre y fecha

Publicado por Angel (14 intervenciones) el 13/02/2018 15:23:48
Gracias, pero por desgracia es una plantilla que ya se utiliza asi, y que la mayoria de usuarios no tiene el nivel de excel como para manejarla como tu dices, ademas de que por ejemplo son tarifas con diferente numeros de articulos unas de otras, diferentes precios, diferentes calculos, etc... Gracias por tu idea, me va a servir para otra plantilla que estoy preparando, pero para este trabajo por desgracia no puedo aplicarla, asi es que anímo a quien me pueda ayudar me indique como hacer lo que he solicitado.

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana

Macro para copiar hojas de libro excel con nombre y fecha

Publicado por Antoni Masana amasana@hotmail.com (691 intervenciones) el 14/02/2018 07:05:21
Si me puedes enviar un libro de ejemplo te lo miro.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Macro para copiar hojas de libro excel con nombre y fecha

Publicado por Angel (14 intervenciones) el 14/02/2018 10:37:18
Gracias por tu interes, te envio dos libros con dos ficheros de excel de diferentes versiones, lo que necesitaria es una macro para sacar cada hoja a un fichero externo, sin formulas, solo valores y formatos, y que cada fichero se llamara como la hoja y la fecha de 4 dias mas de la actual

Es decir por ejemplo hoja tarifa 1 ... libro tarifa1-18.02.2018 el formato de la fecha me da igual con que tenga dia, mes y año

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana

Macro para copiar hojas de libro excel con nombre y fecha

Publicado por Antoni Masana (691 intervenciones) el 14/02/2018 12:32:14
Me envias dos ficheros que son exactamente iguales en contenido guardados en versiones de Excel diferentes.

El libro tiene tres Tarifas. ¿Las quieres sacar por separado o que la macro saque las tres?

¿Tres tarifas tres ficheros destino.? SI
¿Nombre hoja y libro igual? SI

Hay 5 columnas con datos que son las que voy a copiar, Ampliar las columnas será fácil.

¿Solo hay estas tres hojas en el libro origen o hay mas hojas?
¿Los nombres de las hojas son los de la muestra o tienen otros nombres?

Lo pregunto porque en el primer POST hablabas de unos nombres y en los libros hay otros y además tienen diferente formato: en la primera hoja hay un espacio entre texto y número "tarifa 1" y en las otras dos no. "tarifa2" y "tarifa3"

¿La palabra clave de las hojas que se han de copiar es "tarifa"?

Como vamos a llamar al fichero de salida. La fecha es mejor en formato año mes día, cuando tengas unos cuantos notaras la diferencia.

1
2
3
4
5
6
[_]  Tarifa 1-2018.02.18.xlsx
[_]  Tarifa1-2018.02.18.xlsx
[_]  Tarifa-1-2018.02.18.xlsx
[_]  Tarifa_1-2018.02.18.xlsx
[_]  Tarifa_1_2018.02.18.xlsx
[_]  Tarifa_____________.xlsx

Selecciona el mejor formato de salida.

Respondiendo a las preguntas 1, 4 y 5 ya puedo empezar a trabajar porque en función de ello lo hare de una forma o de otra, las preguntas 4 y 5 las puedo resolver con una tabla, es decir

a la hoja AFRICA fichero Tarifa_1
a la hoja SEVILLA fichero Tarifa_2
a la hoja CEUTA fichero Tarifa_3

El resto de hojas se ignoran.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Macro para copiar hojas de libro excel con nombre y fecha

Publicado por Angel (14 intervenciones) el 14/02/2018 13:02:01
Te contesto sobre el mismo texto tuyo para que te sea mas sencillo

Me envias dos ficheros que son exactamente iguales en contenido guardados en versiones de Excel diferentes.

SI


El libro tiene tres Tarifas. ¿Las quieres sacar por separado o que la macro saque las tres?

Es un ejemplo cada macro que saque un unico fichero no es necesario que lo haga de las 3 porque puedo necesitar una o varias

¿Tres tarifas tres ficheros destino.? SI
¿Nombre hoja y libro igual? SI

Hay 5 columnas con datos que son las que voy a copiar, Ampliar las columnas será fácil.

¿Solo hay estas tres hojas en el libro origen o hay mas hojas?

Puede haber mas hojas pero ya teniendo la macro para una la aplico para el resto

¿Los nombres de las hojas son los de la muestra o tienen otros nombres?

son datos de pruebas no son reales pero me sirve de diferencia por eso se llaman diferente a los del primer post, no importa el nombre pero era para que trabajaras sobre uno en concreto.

Lo pregunto porque en el primer POST hablabas de unos nombres y en los libros hay otros y además tienen diferente formato: en la primera hoja hay un espacio entre texto y número "tarifa 1" y en las otras dos no. "tarifa2" y "tarifa3"

¿La palabra clave de las hojas que se han de copiar es "tarifa"?

debe ser el hombre de cada hoja mas la fecha de salida, dd.mm.aaaa porque no se guardan en directorios iguales de diferente año, ni mes ...asi me sirve.

Como vamos a llamar al fichero de salida. La fecha es mejor en formato año mes día, cuando tengas unos cuantos notaras la diferencia.

1
2
3
4
5
6
[_] Tarifa 1-2018.02.18.xlsx
[_] Tarifa1-2018.02.18.xlsx
[_] Tarifa-1-2018.02.18.xlsx
[_] Tarifa_1-2018.02.18.xlsx
[_] Tarifa_1_2018.02.18.xlsx
[_] Tarifa_____________.xlsx

Selecciona el mejor formato de salida.

Respondiendo a las preguntas 1, 4 y 5 ya puedo empezar a trabajar porque en función de ello lo hare de una forma o de otra, las preguntas 4 y 5 las puedo resolver con una tabla, es decir

a la hoja AFRICA fichero Tarifa_1
a la hoja SEVILLA fichero Tarifa_2
a la hoja CEUTA fichero Tarifa_3

El resto de hojas se ignoran.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Macro para copiar hojas de libro excel con nombre y fecha

Publicado por Angel (14 intervenciones) el 16/02/2018 14:55:52
Por favor, si necesita mas datos no dude en pedirmelos.Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana

Macro para copiar hojas de libro excel con nombre y fecha

Publicado por Antoni Masana (691 intervenciones) el 16/02/2018 18:17:13
Te envío el libro con la Macro.

Hay dos macros, uno es para crear el nuevo libro y la otra para darle formato al libro, lo único que hace es centrar las tres primeras columnas y darles anchura. Si lo quieres cambiar solo tienes que poner GRABAR MACRO y les das el formato que más te guste, después solo debes cambiar la macro.

Ya veras que al inicio hay tres macros que llaman a la que crea el libro, así puedes montarlo como mejor te guste, ya veras que la llamada es muy simple.

La macro Crea_Tarifa tiene al inicio una variable que se llama Ruta y para las pruebas he puesto el directorio C:\Dowload es donde guardara el nuevo libro.

Y ya me contaras que tal te va.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Macro para copiar hojas de libro excel con nombre y fecha

Publicado por Angel (14 intervenciones) el 19/02/2018 12:12:33
Gracias por tu ayuda, lo he probado y me daba un error, pero es que no habia creado la ruta c:\download

Respecto a los formatos no se si me explique bien, lo que queria es que mantenga los que tiene, solo que en el fichero nuevo no se copien las formulas, sino los valores nada mas...no se si es posible.

Por otro lado, si necesito la misma macro para diferentes hojas....? tengo que crear un apartado dentro de la macro para cada hoja? no se puede utilizar en una y que coja los datos de esa hoja? me explico....si yo quiero copiar una hoja que se llame ... analisis 2018 por ejemplo a un libro nuevo .... no lo puedo hacer estando en esa hoja, sin necesidad de tener que crear una macro para cada hoja de nombre diferente?

Como podria copiar la macro a mi libro personal.xlsb que contiene otras macros y se abre cada vez que abro un libro excel?


Espero haberme explicado bien, sino no pasa nada por que me preguntes las dudas posibles.

Muchas gracias de nuevo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana

Macro para copiar hojas de libro excel con nombre y fecha

Publicado por Antoni Masana (691 intervenciones) el 19/02/2018 13:35:45
Con hacer una Macro puede servir para cualquier hoja

1
2
3
Sub Tarifa()
    Call Crear_Tarifa(ActiveSheet.Name)
End Sub

Se puede hacer más cosas y una de ellas es preguntar si se desea exportar para no ejecutarla por error:

1
2
3
4
5
6
7
8
9
10
11
12
Sub Exporta_Tarifa()
    Dim Texto As String, Keys As Integer
 
    Keys = vbQuestion + vbYesNo + vbDefaultButton2
    Texto = "Desea exportar la la tarifa de la hoja: " & _
           vbCrLf & _
           vbCrLf & ActiveSheet.Name
 
    If MsgBox(Texto, Keys, "Tarifas") = vbYes Then
        Call Crear_Tarifa(ActiveSheet.Name)
    End If
End Sub

Hasta se puede verificar si la hoja es de una tarifa y si no lo es no preguntar.

He añadido al fichero adjunto la modificación de la macro que copia valores y formato y he quitado la que modificába el ancho de las columnas

Y lo de pasar la macro de un libro a otro es abrir los dos libros copiarla de uno y pegarla en el otro, y por último borrarla del primero para no tenerla repetida, no tiene mucho misterio.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Macro para copiar hojas de libro excel con nombre y fecha

Publicado por Angel (14 intervenciones) el 19/02/2018 17:43:41
Muchísimas gracias, voy a probarla y te cuento.

Que mundo este de las macros mas apasionante, sabes de algún libro o curso en Internet gratuito para poder empezar a crear mis propias macros? hasta ahora las única que he creado son las que graban los pasos que sigues y luego los reproduces, pero viendo esto se me abre un mundo para facilitar muchas tareas rutinarias.

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Macro para copiar hojas de libro excel con nombre y fecha

Publicado por Angel (14 intervenciones) el 19/02/2018 17:49:02
He abierto el fichero pero no tiene nada que ver con el que yo te he enviado de prueba con las hojas de tarifa, es un error? o hay que buscar dentro ?

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Macro para copiar hojas de libro excel con nombre y fecha

Publicado por Angel (14 intervenciones) el 19/02/2018 18:06:40
He estado probando pero me da error, no necesito que valide si son tarifas o no... simplemente que al ejecutar la macro, copie el contenido de la hoja activa a un nuevo libro excel, manteniendo todos los formatos, colores, anchos de columna, tipo de letra...etc, pero que copie solo los valores.... que no copie las formulas, y que se pueda ejecutar en cualquier hoja abierta de cualquier libro, aunque no sea el que te mande de ejemplo, por eso lo grabo en el libro personal.xlsb

Se puede hacer asi?

Me enviaste un fichero referente a otra macro y debio ser un error.. me puedes enviar el que yo te envie con la macro que te indico?

Ya luego vere si ejecuto la macro con atajo de teclado, poniendo un boton o desde la barra de menus... no te preocupes por eso.

Con la macro ya es mas que suficiente.

Creo que con tantos cambios me he liado.

He copiado esto en un modulo... y tambien me da error., no se si es algo a modificar en la primera macro que me enviaste o hay que sustituitrlo.

1
2
3
4
5
6
7
8
9
10
11
12
Sub Exporta_Tarifa()
    Dim Texto As String, Keys As Integer
 
    Keys = vbQuestion + vbYesNo + vbDefaultButton2
    Texto = "Desea exportar la la tarifa de la hoja: " & _
           vbCrLf & _
           vbCrLf & ActiveSheet.Name
 
    If MsgBox(Texto, Keys, "Tarifas") = vbYes Then
        Call Crear_Tarifa(ActiveSheet.Name)
    End If
End Sub


Gracias de nuevo y perdona las molestias ocasionadas por mi ignorancia, mi nivel en este asunto es 1 de 0 a 10
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana

Macro para copiar hojas de libro excel con nombre y fecha

Publicado por Antoni Masana amasana@hotmail.com (691 intervenciones) el 19/02/2018 19:12:47
Las dos Macros que he puesto en el post de las 13:35 son la misma, la primera crea el fichero de la hoja que tengas activa y el segundo te pregunta antes de crear el fichero.

Por otro lado era la hora de marcharme del trabajo y con las prisas te he enviado otra cosa, bueno otro libro que nada tiene que ver con lo tuyo.

Mañana te envío el libro con un macro para crear el fichero de tarifas tenga el nombre que tenga. Y un montón, bueno montón no porque no abulta, mas bien un buen numero de libros sobre macros en Excel, como curiosidad te diré que de macros de Word hay muy poco y es que Excel da para mucho..

Mandame una dirección de E-Mail y te lo envío por correo

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana

Macro para copiar hojas de libro excel con nombre y fecha

Publicado por Antoni Masana (691 intervenciones) el 20/02/2018 06:35:06
El fichero correcto.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Macro para copiar hojas de libro excel con nombre y fecha

Publicado por Angel (14 intervenciones) el 20/02/2018 15:57:54
Gracias, te envie mi mail por privado por si puedo ayudarte en alguna cosa dentro de mis modestos conocimientos, respecto a la macro la he probado y lo unico que veo que no se si se puede mejorar son dos cosas:

Si hay imagenes que estan en la hoja original no las copia

Si tengo activos filtros, me gustaria que me copiara los datos que aparecen una vez ejecutado el filtro, pero he probado y no funciona la macro en ese caso.



Este es el error que me da por si te sirve da ayuda

Captura

Y esto lo que me indica al depurar el error

Captura2

Si se puede corregir sobre todo lo de los filtros te lo agradeceria, por lo demas todo perfecto, muy buen trabajo.


Y abusando de tus conocimientos te planteo otro reto:

He creado una plantilla para preparar un folleto de oferta periódicamente.

Se basa en un listado de codigos, articulos, precio y foto .

la foto estarian en una carpeta y seria el codigo del articulo +.jpg su nombre.
Necesito poder importar cada foto adaptada a la celda de excel que siempre seria del mismo tamaño.

Borrarlas todas cuando se introduzca una lista diferente, y cargar las nuevas.

Os envio fichero excel para que valoréis como se puede hacer si podeis ayudarme.

El fichero consta de 3 pestañas

Datos : donde se copian los datos cada vez
Plantilla: Recopila de datos y se prepara para impresión en A3
A4:Recopila de datos y prepara para impresión en A4 (aqui me gustaria poder asignar un orden de impresión pero no se como hacerlo tampoco)


También si ves una manera de simplificar lo que he preparado, te agradecería si me lo indicas.

Gracias por anticipado.

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana

Macro para copiar hojas de libro excel con nombre y fecha

Publicado por Antoni Masana amasana@hotmail.com (691 intervenciones) el 20/02/2018 21:18:49
Hola Angel,

Primero. No he visto tu correo, no se donde se puede haber metido.

Segundo. Lo de copiar las hojas funciona en la muestra que me enviaste, si hay imágenes la cosa cambia. Una posibilidad es copiar la hoja al nuevo libro, la cual estará idéntica a la original y ahora el problema es quitar las formulas y aquí es donde hay que ver el diséño.

Pregunto:
¿Son siempre las mismas columnas?
¿Podemos saber a priori cuales son?

Por ejemplo la B, la D y la J. de esta forma se selecciona la columna y se hace un pegar por valor y se elimina las formulas.
La otra opción es recorrer celda a celda y mirar si hay formula o valor, teniendo en cuenta que una hoja consta más o menos de 16.000.000.000 de celdas y seria interesante acotar el área de trabajo.

Tercero. No acabo de entender lo de la plantilla , pero es que aun estoy pensando en las tarifas. Ya le daré un vistazo.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Macro para copiar hojas de libro excel con nombre y fecha

Publicado por Angel (14 intervenciones) el 21/02/2018 09:00:27
El correo te lo envie a tu mail

No son siempre las mismas pero si es un problema lo de la imagen eso es lo de menos, lo que si me importa mas es lo de las hojas cuando tienen filtro activo copiar solo lo activo

y esto nuevo... cuando termines no hay prisa

Agradecido siempre
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana

Macro para copiar hojas de libro excel con nombre y fecha

Publicado por Antoni Masana (691 intervenciones) el 21/02/2018 10:47:50
Prueba esto haber si funciona. Pero has antes copia de los libros buenos.

Copia la hoja al libro nuevo y repasa todas las celdas y convierte las fórmulas en valores del nuevo libro y deja una sola hoja.

No se si puede cuanto tiempo puede tarda la macro, en el caso de que tarde tengo la costumbre de poner al final de la macro este Mensaje

1
MsgBox "Fin de la Macro", vbInformation + vbOKOnly, "Nombre Macro"

Eso a gustos.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana

Macro para copiar hojas de libro excel con nombre y fecha

Publicado por Antoni Masana amasana@hotmail.com (691 intervenciones) el 21/02/2018 12:51:40
Estoy viendo el libro de las ofertas.

La impresión por defecto se hace de dos formas

1
2
3
4
5
6
7
8
9
10
11
Orden tipo  N invertida  (  |/|  )
1   3
| / |
2   4
 
Orden tipo  Z
1 – 2
  /
3 – 4
 
  o Invertida

Seleccionar el orden. Por Ejemplo 3,4,2,1 y puedes hacerlo por macro

Entiendo el formato de la hoja Plantilla hoja 1 en una cara del papel y hoja 2 en la otra cara.

En la hoja A4 defino las hojas por su posición de izquierda a derecha y de arriba a bajo.

1
2
A  B
C  D

El orden debe ser B C D A y tienes tres opciones de impresión.

Se podría reordenar las hojas en función del orden de impresión escogido.

N invertida
1
2
B  D
C  A

Z
1
2
B  C
D  A

O por selección: B, C, D, A los números depende del orden de impresión definido. Ver Configurar impresora –> Hoja.
Todo esto si la impresora hace a doble cara, de lo contrario hay que hacerlo de otra forma, primero las caras pares invertidas y después las impares.

Las imágenes.

Se podría hacer una macro que se encargue de borrarlas y volver a cargarlas, tiene su qué y su ka, es un poco más complejo.
Hice el año pasado una macro para sacar una imagen y poner otra, le daré un repaso.

Te tengo que pedir algo y es que me envíes las imágenes fuera del Excel, no es necesario todas, solo las que hay en el Excel y algunas nuevas para modificar las tarifa y probar la macro que aún no he hecho.

Creo que lo mejor es que me lo envíes a mi correo y no al foro, por razones de seguridad, aquí tiene acceso todo el mundo.


Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Revisar política de publicidad