28/Jun/05 17:21
Re: MACRO DE IMPRESION
Macro VBA Excel para imprimir
A veces vale la pena incluir una función para que el usuario del libro pueda imprimir cómodamente (y seguro), por ejemplo desde un botón. De esta manera mantenemos el control sobre lo que se va a imprimir, y de los parámetros que se mandarán a la impresora.
Abajo encontrarás sencillos ejemplos de la aplicación de cómo imprimir desde Excel VBA:
- Selección
- Hojas seleccionadas
- Todas las hojas.
Primero ajustamos los parámetros de la impresión, el apartado PageSetup. Luego se imprime con el método PrintOut.
Código VBA para imprimir las celdas seleccionadas
[code:1:4f656b3ec3]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 para que quepa en una hoja papel (ancho)
.FitToPagesTall = 1 'reduce el tamaño de la hoja para que quepa en una hoja papel (alto)
.CenterHorizontally = False 'centrar la impresión horizontalmente
.CenterVertically = False 'centrar la impresión verticalmente
End With
'imprimir las celdas seleccionadas
ActiveWindow.Selection.PrintOut copies:=1, collate:=True 'imprimir una copia
End Sub [/code:1:4f656b3ec3]
Código VBA para imprimir las hojas seleccionadas
[code:1:4f656b3ec3]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 para que quepa en una hoja papel (ancho)
.FitToPagesTall = 1 'reduce el tamaño de la hoja para que quepa en una hoja papel (alto)
.CenterHorizontally = False 'centrar la impresión horizontalmente
.CenterVertically = False 'centrar la impresión verticalmente
End With
'imprimir las celdas seleccionadas
ActiveWindow.SelectedSheets.PrintOut copies:=1, collate:=True 'imprimir una copia
End Sub [/code:1:4f656b3ec3]
Código VBA para imprimir todas las hojas del libro
[code:1:4f656b3ec3]Sub Imprimir_seleccion()
'preparar la hoja para la impresión
For Each Worksheet In ActiveWorkbook.Sheets 'bucle que repasa todas las hojas
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 para que quepa en una hoja papel (ancho)
.FitToPagesTall = 1 'reduce el tamaño de la hoja para que quepa en una hoja papel (alto)
.CenterHorizontally = False 'centrar la impresión horizontalmente
.CenterVertically = False 'centrar la impresión verticalmente
End With
Next Worksheet 'fin del bucle
'imprimir las celdas seleccionadas
ActiveWorkbook.PrintOut From:=1, To:=1, copies:=1, collate:=True 'imprimir una copia
End Sub[/code:1:4f656b3ec3]
«Antes que cambien los reinos, los hombres deberán cambiar»
═╬═