none
Excel 2k7: Macro para imprimir automáticamente

    Question

  • Buenos días.

    Recién ahora estoy comenzando a utilizar macros en excel y quisiera que alguien me encamine sobre como poder hacer una macro en excel 2007 para utilizar con un recibo de sueldo. Lo que busco es poder imprimir 2 copias del recibo empleado 1, luego que cambie el número de empleado a 2, imprima 2 copias, cambie el nº de empleado a 3, imprima 2 copias y así sucesivamente. A esto hay que sumarle que la macro me permita elejir desde que empleado a cual imprimir 2 copias de cada uno. Ej.: que me de la posibilidad de imprimir los recibos de los empleados 22-46.

    La verdad que en programación tampoco me va muy bien, así que cualquier ayuda es bienvenida

    Gracias de antemano!

    Saturday, October 11, 2008 8:53 PM

Answers

  • Aquí unos códigos:

     

    Para imprimir las celdas seleccionadas

    Sub Imprimir_seleccion()
    'prepara la hoja para la impresión
    With ActiveSheet.PageSetup
    .PrintArea = ""
    .Orientation = xlPortrait 'xlLandscape
    .PaperSize = xlPaperA4 'hoja 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 (2 copias)
    ActiveWindow.Selection.PrintOut copies:=2, collate:=True
    End Sub

    Para imprimir las hojas seleccionadas

    Sub Imprimir_seleccion()
    'preparar la hoja para la impresión
    With ActiveSheet.PageSetup
    .PrintArea = ""
    .Orientation = xlPortrait 'xlLandscape
    .PaperSize = xlPaperA4 'hoja 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 hojas seleccionadas (2 copias)
    ActiveWindow.SelectedSheets.PrintOut copies:=2, collate:=True
    End Sub

    Si te sirvió la respuesta marcaa como correcta :-)
    Tuesday, November 11, 2008 4:30 PM