Cómo usar Excel VBA para imprimir
Millones de propietarios de pequeñas empresas y empresarios de todo el mundo utilizan Microsoft Excel para ayudar con tareas comunes de contabilidad, pronóstico e inventario. Con las herramientas integradas de Excel, es relativamente sencillo enviar una hoja de cálculo o un libro a alguien en un correo electrónico como archivo adjunto. Sin embargo, hay muchas veces en que nada le gana a una copia impresa de los datos de la hoja de cálculo. Por supuesto, puede usar la opción de menú "Archivo | Imprimir" en la barra de cinta para crear versiones impresas de su hoja de cálculo. Sin embargo, al usar Visual Basic para aplicaciones, o VBA, también puede crear macros o botones de comando para realizar varias tareas de impresión dentro de Excel de forma mucho más rápida y eficiente.
Activar la pestaña de desarrollador
1.
Inicie Microsoft Excel y abra el libro de trabajo o la plantilla en la que desea programar las funciones de impresión de VBA. Haga clic en "Archivo" en la cinta de Excel y luego en "Opciones".
2.
Localice y haga clic en el encabezado "Personalizar cinta" en el panel izquierdo de la ventana "Opciones de Excel". Haga clic en la casilla de verificación junto a "Desarrollador" en la sección Pestañas principales debajo de la etiqueta "Personalizar la cinta".
3.
Haga clic en el botón "Aceptar" para activar la pestaña "Desarrollador" en la cinta y cerrar la ventana "Opciones de Excel". Después de cerrar la ventana de Opciones, Excel muestra automáticamente la pestaña del desarrollador en la barra de cinta.
Crear un botón de impresión con VBA
1.
Haga clic en la pestaña "Desarrollador" en la cinta. Haga clic en la flecha desplegable del icono "Insertar" en la sección "Controles" de la pestaña "Desarrollador". Haga clic en el icono "Control de botón" debajo de "Controles de formulario".
2.
Haga clic en la celda de la hoja de cálculo donde desea colocar un botón de impresión. Después de hacer clic y seleccionar una celda, la ventana "Asignar macro" aparece automáticamente.
3.
Ingrese "PrintCurrentSheet" o algo similar en el campo "Nombre de macro". No utilice espacios en el nombre de la macro. Haga clic en el botón "Nuevo". La ventana del editor de Visual Basic para Aplicaciones aparece y muestra una nueva ventana de código.
4.
Coloque el cursor del mouse en el espacio de línea entre los valores "Sub PrintCurrentSheet ()" y "End Sub". Escribe el siguiente comando:
ActiveSheet.PrintOut
5.
Haga clic en el icono del disquete en la barra de herramientas del editor de VBA para guardar el código. Cierre la ventana del editor de VBA.
6.
Haga clic con el botón derecho en el nuevo botón de comando y resalte el texto predeterminado del "Botón 1". Cambie el texto de la etiqueta del botón a "Impresión rápida" u otro nombre descriptivo.
7.
Haga clic en el nuevo botón de comando. Excel imprime la hoja de cálculo activa en la impresora predeterminada de Windows sin mostrar el cuadro de diálogo normal "Imprimir".
Consejos
- Puede usar el mismo método para crear muchas funciones de impresión en Excel usando VBA. Los pasos para crear el botón de función de impresión son los mismos; solo la sintaxis del comando difiere.
- Para imprimir todas las hojas de trabajo del libro actual sin mostrar la ventana de diálogo Imprimir, reemplace el comando "ActiveSheet.PrintOut" con "Worksheets.PrintOut" o "ActiveWorkbook.PrintOut", sin las comillas.
- Puede crear un botón de impresión rápida solo para las celdas que seleccione con su mouse usando el comando "Selection.PrintOut" en el código VBA.
- Si desea imprimir en una impresora específica que no sea la predeterminada de Windows, use el siguiente código para el botón de comando en la ventana del código VBA:
- Sub QuickChangePrinter ()
- Dim sNewPrinter como cadena
- sNewPrinter = ActivePrinter
- ActivePrinter = "Introduzca el nombre de Windows de la impresora aquí"
- Application.PrintOut FileName: = ""
- ActivePrinter = sNewPrinter
- End Sub