none
Excel 2k7: Macro para imprimir automáticamente RRS feed

  • Pregunta

  • 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!

    sábado, 11 de octubre de 2008 20:53

Respuestas

  • 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 :-)
    • Marcado como respuesta Ismael Borche miércoles, 6 de abril de 2011 16:28
    martes, 11 de noviembre de 2008 16:30

Todas las respuestas

  • 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 :-)
    • Marcado como respuesta Ismael Borche miércoles, 6 de abril de 2011 16:28
    martes, 11 de noviembre de 2008 16:30
  • MUY BUENO  ME AYUDO MUCHO  SOLO MODIFIQUE A MI USO  GRACIAS

    sábado, 23 de septiembre de 2017 15:30
  • Hola

    Independientemente de las respuestas que te den, tanto Excel como Word tienen un grabador de macros (des hace ¡buuuufff! ni me acuerdo).

    En la versión 2013 (que es la que tengo ahora delante), en la pestaña "Desarrollador", tienes un botón de "Grabar macro". Si lo pulsas, todas las acciones que hagas hasta que pulses el botón de "Detener grabación" se guardarán en un módulo. Eso te servirá o bien para agregarlo a tu própio código, o bien para examinarlo y aprender como se hacen determinadas acciones con VBA.

    Salu2,


    José Mª Fueyo

    lunes, 25 de septiembre de 2017 6:56