Guardar varias hojas en libro

28/03/2006 - 16:57 por Antonio | Informe spam
Haber me explico, he preparado con vuestra ayuda un libro con 5 hojas. En
dos de ellas se colocan los datos que rellenan la hoja "TITULAR",
"DISTRIBUIDORA" e "INSTALADORA". Lo que yo quiero que hacer un boton para
guardar estas tres hojas con los datos en un nuevo libro con un nuevo
nombre.

Saludos

Preguntas similare

Leer las respuestas

#11 Antonio
31/03/2006 - 12:10 | Informe spam
Hector vas ha acabar hasta la corronilla de mi. En este codigo que me
presentas si se desprotege la hoja se crea el nuevo libro, vueleve a ocultar
las hojas pero no las vuelve a proteger.


"Héctor Miguel" escribió en el mensaje
news:%
hola, Antonio !

La verdad es que estoy un poco liado con este codigo y te agradeceria me
lo reescribieras
contando que las hojas a copiar estan ocultas y protegidas.



[creo que] se trata de los ligeros detalles que, o se van agregando... o
se habian quedado 'en el tintero' :))
el error 1004 lo lanza el intento de copiar hojas OCULTAS [que no lo
habias mencionado antes] ;)
y creo que siguen algunos detalles no comentados/aclarados [como la forma
de obtener el nombre del 'nuevo' libro] ;)

suponiendo que la clave de proteccion de las hojas ocultas es la misma...
prueba con algo +/- como lo siguiente:

si cualquier duda => [o informacion adicional]... comentas ?
saludos,
hector.

en un modulo de codigo 'norma', una macro asignada al boton comentado
==> Sub Nuevo_libro()
Application.ScreenUpdating = False
Dim Hoja As Worksheet, Estas_hojas
Estas_hojas = Array("titular", "distribuidora", "instaladora")
For Each Hoja In Worksheets(Estas_hojas)
Hoja.Visible = True
Hoja.Unprotect "pon aqui la clave" ' <= MODIFICA
Next
Worksheets(Estas_hojas).Copy
For Each Hoja In Worksheets
Hoja.UsedRange.Value = Hoja.UsedRange.Value
Next
ThisWorkbook.Worksheets(Estas_hojas).Visible = False
ActiveWorkbook.SaveAs _
Filename:=ThisWorkbook.Path & "\" & ThisWorkbook.Worksheets(1).[c1], _
FileFormat:=xlWorkbookNormal
End Sub


Respuesta Responder a este mensaje
#12 Héctor Miguel
02/04/2006 - 04:56 | Informe spam
hola, Antonio !

... vas ha acabar hasta la corronilla de mi.



1) [creo que]... 'eso'... esta 'por verse' :DD

... si se desprotege la hoja se crea el nuevo libro, vuelve a ocultar las hojas pero no las vuelve a proteger.



2) prueba con las modificaciones al final del presente:

3) las -posibles- causas por las que el codigo falla en la instruccion de 'guardar' el archivo [nuevo]...
pudieran ser varias [p.e.]: desde que el archivo que contiene la macro NO sea un libro 'ya guardado' -?-
y 'pasando' por que lo que contenta la celda 'C1' de la hoja1 del libro de la macro NO sea un nombre 'valido' -?-

-> si recuerdas del mensaje con la primera propuesta...
'dependiendo de como o de donde quieras que el codigo 'tome' el nombre y la ruta del libro nuevo...'
-> o del segundo mensaje de correcciones a la propuesta...
-> repasa los puntos 1 y 2 [solo por no re-transcribirlos en este mensaje] :))

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

Sub Nuevo_libro()
Application.ScreenUpdating = False
Dim Hoja As Worksheet, Estas_hojas
Estas_hojas = Array("titular", "distribuidora", "instaladora")
For Each Hoja In Worksheets(Estas_hojas)
Hoja.Visible = True
Hoja.Unprotect "pon aqui la clave" ' <= MODIFICA
Next
Worksheets(Estas_hojas).Copy
For Each Hoja In Worksheets
Hoja.UsedRange.Value = Hoja.UsedRange.Value
Next
For Each Hoja In ThisWorkbook.Worksheets(Estas_hojas)
Hoja.Protect "pon aqui la clave" ' <= MODIFICA
Hoja.Visible = xlSheetVeryHidden
Next
ActiveWorkbook.SaveAs _
Filename:=ThisWorkbook.Path & "\" & ThisWorkbook.Worksheets(1).[c1], _
FileFormat:=xlWorkbookNormal
End Sub
Respuesta Responder a este mensaje
#13 Antonio
03/04/2006 - 10:19 | Informe spam
Vale Hector la creación del nuevo libro ya funciona bien. Me falta solo
poner el nombre y guardarlo. La forma de poner el nombre seria elegida por
mi, osea igual que se me fuera a la barra y marcase GUARDAR COMO...
Tambien me gustaria que una vez terminado el proceso en el libro principal
se quedase activa la hoja DATOS.

saludos
"Héctor Miguel" escribió en el mensaje
news:
hola, Antonio !

... vas ha acabar hasta la corronilla de mi.



1) [creo que]... 'eso'... esta 'por verse' :DD

... si se desprotege la hoja se crea el nuevo libro, vuelve a ocultar las
hojas pero no las vuelve a proteger.



2) prueba con las modificaciones al final del presente:

3) las -posibles- causas por las que el codigo falla en la instruccion de
'guardar' el archivo [nuevo]...
pudieran ser varias [p.e.]: desde que el archivo que contiene la macro
NO sea un libro 'ya guardado' -?-
y 'pasando' por que lo que contenta la celda 'C1' de la hoja1 del libro
de la macro NO sea un nombre 'valido' -?-

-> si recuerdas del mensaje con la primera propuesta...
'dependiendo de como o de donde quieras que el codigo 'tome' el nombre
y la ruta del libro nuevo...'
-> o del segundo mensaje de correcciones a la propuesta...
-> repasa los puntos 1 y 2 [solo por no re-transcribirlos en este
mensaje] :))

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

Sub Nuevo_libro()
Application.ScreenUpdating = False
Dim Hoja As Worksheet, Estas_hojas
Estas_hojas = Array("titular", "distribuidora", "instaladora")
For Each Hoja In Worksheets(Estas_hojas)
Hoja.Visible = True
Hoja.Unprotect "pon aqui la clave" ' <= MODIFICA
Next
Worksheets(Estas_hojas).Copy
For Each Hoja In Worksheets
Hoja.UsedRange.Value = Hoja.UsedRange.Value
Next
For Each Hoja In ThisWorkbook.Worksheets(Estas_hojas)
Hoja.Protect "pon aqui la clave" ' <= MODIFICA
Hoja.Visible = xlSheetVeryHidden
Next
ActiveWorkbook.SaveAs _
Filename:=ThisWorkbook.Path & "\" & ThisWorkbook.Worksheets(1).[c1], _
FileFormat:=xlWorkbookNormal
End Sub


Respuesta Responder a este mensaje
#14 Héctor Miguel
03/04/2006 - 22:07 | Informe spam
hola, Antonio !

... la creacion del nuevo libro ya funciona bien. Me falta solo poner el nombre y guardarlo.
La forma de poner el nombre seria elegida por mi... igual que si me fuera a la barra y marcase GUARDAR COMO...
Tambien me gustaria que una vez terminado el proceso en el libro principal se quedase activa la hoja DATOS.



existen varias formas de hacer un 'guardar como...' desde vba
te propongo [como inicial] la siguiente, que en tanto NO se haya 'guardado como...' el archivo nuevo [que sera el 'activo']...
-> te va a estar pregunte... y pregunte... y pregunte... -> hasta que TODO quede OK :D
lo que incluye una verificacion del nombre del libro [segun el que le asignes] para que no contenga [p.e.] caracteres no validos
[incluso] desde el dialogo del guardar como... puedes 'navegar' hacia otros directorios o sub-carpetas para 'depositarlo' :))

cambia en las instrucciones finales de la macro, la instruccion del guardado...
de: ___
ActiveWorkbook.SaveAs _
Filename:=ThisWorkbook.Path & "\" & ThisWorkbook.Worksheets(1).[c1], _
FileFormat:=xlWorkbookNormal

a: ___
Guardalo:
If Not Application.Dialogs(xlDialogSaveAs).Show Then GoTo Guardalo
ThisWorkbook.Worksheets("datos").Activate

si cualquier duda, o prefieres formas alternas para el 'guardar como...' [o informacion adicional]... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#15 Antonio
04/04/2006 - 09:54 | Informe spam
Ya casi lo tenemos, bueno mejor dicho lo tienes Hector. Todo bien pero un
detalle, el nuevo libro que guardamos como podemos hacer para que al
escribir el nombre se cierre el nuevo libro y se mantenga abierto en
anterior.

Saludos CRACK
"Héctor Miguel" escribió en el mensaje
news:
hola, Antonio !

... la creacion del nuevo libro ya funciona bien. Me falta solo poner el
nombre y guardarlo.
La forma de poner el nombre seria elegida por mi... igual que si me fuera
a la barra y marcase GUARDAR COMO...
Tambien me gustaria que una vez terminado el proceso en el libro
principal se quedase activa la hoja DATOS.



existen varias formas de hacer un 'guardar como...' desde vba
te propongo [como inicial] la siguiente, que en tanto NO se haya 'guardado
como...' el archivo nuevo [que sera el 'activo']...
-> te va a estar pregunte... y pregunte... y pregunte... -> hasta que TODO
quede OK :D
lo que incluye una verificacion del nombre del libro [segun el que le
asignes] para que no contenga [p.e.] caracteres no validos
[incluso] desde el dialogo del guardar como... puedes 'navegar' hacia
otros directorios o sub-carpetas para 'depositarlo' :))

cambia en las instrucciones finales de la macro, la instruccion del
guardado...
de: ___
ActiveWorkbook.SaveAs _
Filename:=ThisWorkbook.Path & "\" & ThisWorkbook.Worksheets(1).[c1], _
FileFormat:=xlWorkbookNormal

a: ___
Guardalo:
If Not Application.Dialogs(xlDialogSaveAs).Show Then GoTo Guardalo
ThisWorkbook.Worksheets("datos").Activate

si cualquier duda, o prefieres formas alternas para el 'guardar como...'
[o informacion adicional]... comentas ?
saludos,
hector.


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida