Radio Aportaciones:  
--:--  | : 20hs-24hs -
Toggle Bar

    Imprimir 3 Hojas de Excel con Macro

    06 Nov 2007 22:52 #18280 por Daniel_Gtz
    Hola... Buen Dia.

    En alguna ocasion, vi que habia una macro con la que podia imprimir varias hojas de excel con solo oprimir un boton (con la macro, por supuesto).

    Alguien que me la pueda pasar... ya saben que en esto de las macros y micros no se mucho...

    Gracias anticipadas.

    Por favor, Identificarse o Crear cuenta para unirse a la conversación.

    07 Nov 2007 01:30 #18291 por Daniel_Gtz
    Hola...

    Pues con la novedad que ya encontre algo que me ayuda, pero quisiera ahora que alguien me ayude, por favor, a poner la macro en un boton, o bien, si se pudiera hacer algo mejor.

    Esto es lo que encontre:

    [code:1]Sub Imprimir_seleccion()

    'preparar la hoja para la impresión
    With ActiveSheet.PageSetup
    .PrintArea = \"\"
    .Orientation = xlPortrait 'xlLandscape
    .PaperSize = xlPaperA4 'formato A4
    .BlackAndWhite = False 'incluir colores o no
    .FitToPagesWide = 1 'reduce el tamaño de la hoja (ancho)
    .FitToPagesTall = 1 'reduce el tamaño de la hoja (alto)
    .CenterHorizontally = False 'centrar horizontalmente
    .CenterVertically = False 'centrar verticalmente
    End With

    'imprimir las celdas seleccionadas (1 copia)
    ActiveWindow.SelectedSheets.PrintOut copies:=1, collate:=True
    End Sub
    [/code:1]

    Lo malo, es que tengo que seleccionar las 3 hojas que quiero imprimir.

    Habra algo mas sencillo??

    Gracias de nuevo..

    Por favor, Identificarse o Crear cuenta para unirse a la conversación.

    07 Nov 2007 06:14 #18293 por rdavidcg
    Que tal compañero Daniel yo te recomendaria (a reserva de la mejor opinion de sensei ByPaco) estas macros el detalle es que en este ejemplo tendrias que configurar cada hoja para que quede ajustada el area de impresión y las especificaciones individuales de manera manual claro que si estas impresiones no tuvieran cambios pues solo lo harias una sola vez:

    [code:1]Sub impresion1()
    '
    ' impresion1 Macro
    ' Macro grabada el 06/11/2007 por Ricardo Cazares
    '

    '
    Worksheets(\"nombre de hoja1\"«»).Activate 'hoja a imprimir
    ActiveWindow.SelectedSheets.PrintPreview 'area seleccionada de manera manual
    Range(\"A1\"«»).Select 'te envia a la 1er celda de la hoja activa
    End Sub

    Sub impresion2()
    '
    ' impresion2 Macro
    ' Macro grabada el 06/11/2007 por Ricardo Cazares
    '

    '
    Worksheets(\"nombre de hoja2\"«»).Activate
    ActiveWindow.SelectedSheets.PrintPreview
    Range(\"A1\"«»).Select
    End Sub

    Sub impresion3()
    '
    ' impresion1 Macro
    ' Macro grabada el 06/11/2007 por Ricardo Cazares
    '

    '
    Worksheets(\"nombre de hoja3\"«»).Activate
    ActiveWindow.SelectedSheets.PrintPreview
    Range(\"A1\"«»).Select
    End Sub[/code:1]

    Y en un botón asignar la siguiente macro en la hoja principal o en al primer hoja:
    [code:1]Sub impresiontotal()
    '
    ' impresiontotal Macro
    ' Macro grabada el 06/11/2007 por Ricardo Cazares
    '

    '
    Application.Run \"impresion1\" 'ejecuta la 1er impresion
    Application.Run \"impresion2” 'ejecuta la 2a impresion
    Application.Run \"impresion3\" 'ejecuta la 3er impresion
    Worksheets(\"nombre de hoja1\"«»).Activate 'te envia a la 1er hoja
    Range(\"A1\"«»).Select 'en la 1er hoja selecciona la celda A1
    End Sub[/code:1]

    En caso de que desees que la macro ajuste el area de impresión con las instrucciones que citaste en tu comentario la deberas repetir 3 veces (por las tres hojas que deas imprimir) mas o menos asi:

    [code:1]Sub impresion1()
    '
    ' impresion1 Macro
    ' Macro grabada el 06/11/2007 por Ricardo Cazares
    '
    Worksheets(\"nombre de hoja1\"«»).Activate 'hoja a imprimir
    'preparar la hoja para la impresión
    Range(\"A1:E20\"«»).Select 'como ejemplo esta seria el area de impresion
    ActiveSheet.PageSetup.PrintArea = \"$A$1:$e$20\"
    .Orientation = xlPortrait 'xlLandscape
    .PaperSize = xlPaperA4 'formato A4 o letter en caso de tamaño carta
    .BlackAndWhite = False 'incluir colores o no
    .FitToPagesWide = 1 'reduce el tamaño de la hoja (ancho)
    .FitToPagesTall = 1 'reduce el tamaño de la hoja (alto)
    .CenterHorizontally = False 'centrar horizontalmente
    .CenterVertically = False 'centrar verticalmente
    ActiveWindow.SelectedSheets.PrintPreview 'area por imprimir ajustada
    Range(\"A1\"«»).Select 'te envia a la primer celda de la hoja activa
    End Sub[/code:1]

    Repite estos mismos pasos para las otras dos hojas (teniendo cuidado de cambiar el nombre de cada hoja y asignando un nombre distinto para cada macro) y por ultimo asigna la macro de impresion total a un boton y listo debe funcionar.
    En caso de que tengas dudas con gusto por aca nos vemos y leemos Daniel

    pd muchas de estas instrucciones me fueron facilitadas por sensei Bypaco (al cual le reitero mi agradecimiento) Lord del excel como bien lo llama el compañero Gabo saludos a ambos dos
    Saludos!!!!!<br><br>Mensaje editado por: rdavidcg, el: 07/11/2007 01:25

    Por favor, Identificarse o Crear cuenta para unirse a la conversación.

    07 Nov 2007 13:40 #18296 por Daniel_Gtz
    Gracias rdavidcg,

    Deja lo intento, no dudes que tendre mas dudas...Ahora lo unico que me queda preguntar, es como pongo un boton, con su respectiva macro.

    Por favor, Identificarse o Crear cuenta para unirse a la conversación.

    07 Nov 2007 20:22 #18342 por rdavidcg
    Compañero Daniel revisa el link adjunto trae un tutorial para tu duda espero y te ayude
    www.4shared.com/file/28623186/be6491f6/t...rPwdVerified=d4eb2a9
    solo espera a que cargue la opcion de descarga: DOWNLOAD FILE<br><br>Mensaje editado por: rdavidcg, el: 07/11/2007 15:24

    Por favor, Identificarse o Crear cuenta para unirse a la conversación.

    07 Nov 2007 20:41 #18343 por Daniel_Gtz
    Gracias rdavidcg

    Bajando para ver, analizo, intento y comento....

    Por favor, Identificarse o Crear cuenta para unirse a la conversación.

    Tiempo de carga de la página: 0.235 segundos

    ¿Quién está en línea?

    Hay 675 invitados y ningún miembro en línea