Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

vba_excel .exportar hojas a un nuevo libro

Estas en el tema de vba_excel .exportar hojas a un nuevo libro en el foro de Visual Basic clásico en Foros del Web. Hola, os comento mi consulta: -Tengo un libro de Excel cuyo nombre no se. -Este libro tiene las siguientes hojas: -HP (siempre visible) -Resumen (siempre ...
  #1 (permalink)  
Antiguo 12/04/2008, 14:44
 
Fecha de Ingreso: abril-2008
Mensajes: 13
Antigüedad: 16 años, 1 mes
Puntos: 0
Pregunta vba_excel .exportar hojas a un nuevo libro

Hola, os comento mi consulta:

-Tengo un libro de Excel cuyo nombre no se.
-Este libro tiene las siguientes hojas:
-HP (siempre visible)
-Resumen (siempre visible)
-Cprod1 (visible si checkbox1 del userform =true)
-Cprod2 (visible si checkbox2 del userform =tue)
-Cprod3 (visible si checkbox3 del userform =true)

-Quiero exportar a un nuevo libro de Excel ,cuyo nombre no se, las hojas visibles, menos la hoja HP.

He probado entre otras cosas lo siguiente:

1-
Sheets(Array("RESUMEN", "PROD1", "PROD2", "PROD3")).Select
Sheets(Array("RESUMEN", "PROD1", "PROD2", "PROD3")).Copy
Cells.Select
Selection.Copy

Pero, da error porque puede que no tenga visible la hoja Prod1, o la Prod2 o la Prod3 (que de hecho no quiero exportar las no visibles).

2-

If Cprod1.value=true then
Sheets( "PROD1”)).Select
Sheets(“PROD1").Copy
Cells.Select
Selection.Copy
Else
If Cprod2.value=true then
Sheets("PROD2").Select
Sheets("PROD2 ").Copy
Cells.Select
Selection.Copy

Etc…

Pero me crea un nuevo libro para cada hoja.

¿alguien me da alguna idea de como lo podría solucionar?
  #2 (permalink)  
Antiguo 13/04/2008, 07:54
 
Fecha de Ingreso: abril-2008
Mensajes: 13
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: vba_excel .exportar hojas a un nuevo libro

Al final he encontrado una solucioncilla,que por lo menos hace lo que quería...haciendo macros de excel y solo que no sabía como volver al libro activo inicial.

Private Sub cmbguardar_Click()

milibro = ActiveWorkbook.Name
nuevolibro = InputBox("NOMBRE" & vbCrLf & "INFORMA NOMBRE DEL NUEVO LIBRO", "ERROR")
nombrenuevolibro = (nuevolibro)
Workbooks.Add
ActiveWorkbook.SaveAs Filename:=nombrenuevolibro, FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False

Windows(milibro).Activate

Sheets("RESUMEN").Select
Sheets("RESUMEN").Copy Before:=Workbooks(nombrenuevolibro).Sheets(1)

Windows(milibro).Activate

If CPROD1A.Value = True Then
Sheets("PROD1").Select
Sheets("PROD1").Copy Before:=Workbooks(nombrenuevolibro).Sheets(1)
End If
Windows(milibro).Activate
If CPROD2A.Value = True Then
Sheets("PROD2").Select
Sheets("PROD2").Copy Before:=Workbooks(nombrenuevolibro).Sheets(1)
End If
Windows(milibro).Activate
If CPROD3A.Value = True Then
Sheets("PROD3").Select
Sheets("PROD3").Copy Before:=Workbooks(nombrenuevolibro).Sheets(1)
End If

Windows(milibro).Activate

End Sub
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:49.