fechar

Aprender Excel

APRENDER EXCEL

DICAS E NOVIDADES SOBRE EXCEL

Criando um botão que imprime no Excel

por: Maximiliano Meyer em VBA, no dia 13/03 | 11:12 atualizado em 16/03 | 09:30

A dica de hoje é uma das coisas mais simples e úteis para os usuários de escritório do Excel, isso porque vai facilitar muito o processo de impressão de documentos.

O código já foi utilizado em algumas planilhas aqui do site e sempre deixa os usuários curiosos de como foi que a bruxaria foi feita. A resposta é mais simples do que parece: 1 linha de código!

Além disso vamos ver como imprimir em 3 maneiras diferentes: Imprimir tudo; imprimir o que estiver selecionado ou imprimir uma área específica padrão.

Vamos ver cada uma delas agora:

Ahhh, e se você quiser saber mais sobre impressão no Excel, não deixe de conferir este post com tudo sobre o tema no Excel.

Imprimir tudo

Esse é o método mais completo e fácil: Imprime tudo que estiver em sua planilha. Simples assim.

Para que ele funcione no seu projeto o que você fará é apertar Alt + F11 para entrar na área de inserção de código; clicar com o direito em 'Microsoft Excel Objetos', depois 'Inserir' e então 'Módulo'.

No módulo você vai inserir o código

Sub print_tudo()
    Application.Dialogs(xlDialogPrint).Show
End Sub

Com esse código você vai ver aquela janelinha clássica de impressão, onde poderá escolher diversas partes da impressão, como impressora, intervalo, cópias, etc.

Imprimindo o que está selecionado

Mas muitas vezes não queremos imprimir tudo (imagine uma planilha com 100 linhas onde você só quer imprimir as 5 primeiras, por exemplo). Nesse caso temos outro código:

Sub print_select()
    ActiveWindow.RangeSelection.PrintOut
End Sub

Assim como o anterior você terá de colocar em um módulo para que funcione corretamente, ok? Você apenas deve atentar a uma coisa neste código: Diferentemente do anterior ele não exibe a janela de impressão não permitindo que escolhamos a impressora padrão.

Para resolver isso vamos na guia 'Arquivo', botão 'Imprimir' para escolher algumas opções a serem levadas em conta quando você usar este método, como impressora, orientação, etc.

Imprimindo sempre a mesma área específica

Aqui temos 2 métodos em que chegaremos a um mesmo resultado. Escolha o que mais lhe agrada.

Método 1: Área de Impressão

Este método é um desdobramento do que vimos aqui neste post. Portanto, leia ele para aprender a criar sua área de impressão.

Resumidamente o que você terá de fazer é selecionar o intervalo, ir até a guia 'Layout da Página', 'Área de Impressão' e 'Definir Área de Impressão'.

Depois é só usar o primeiro código que vimos há pouco e ele imprimirá sempre a área selecionada.
Sub print_tudo()
    Application.Dialogs(xlDialogPrint).Show
End Sub

Método 2: Definindo no código

Mas um outro modo de fazer isto é definir a área de impressão fixa diretamente no código VBA. Digamos que você queira imprimir o intervalo A5:E18. Nesse caso o código será:

Sub Intervalo_Específico()
    Range("A5:E18").PrintOut
End Sub

Como você deve ter notado, agora é só alterar o campo do intervalo para aquele que atende às suas necessidades e pronto.

Colocando o comando em um botão

O código por si só já é bem legal, mas que tal poupar ainda mais trabalho colocando ele em um botão e ativando a impressão com um simples clique?

Aprenda aqui - em segundos - como criar um botão e atribuir uma macro. É mais simples do que você imagina.