Impressão VBA

Imprimir em VBA é muito parecido com imprimir em excel, quando temos dados importantes em excel ou planilhas, então a única maneira de mantê-los seguros é salvá-los em pdf ou imprimi-los, para imprimir precisamos configurar o comando de impressão em VBA antes de usá-lo, o que este comando faz se imprime ou grava os dados em outro arquivo.

O que é imprimir no VBA Excel?

A impressão do VBA nada mais é do que como sempre, como imprimimos na planilha normal, não há diferença nisso. Usando o código VBA do Excel, podemos imprimir todos os dados da planilha, podemos imprimir a pasta de trabalho, gráficos, intervalo especificado, etc.

Depois de todo o trabalho que fizemos para apresentar o relatório ao gestor, costumamos enviar emails. Mas em alguns casos na reunião, seu gerente precisa de uma cópia impressa de seus relatórios, nesses cenários você precisa imprimir o relatório que possui na planilha. Um dos motivos pelos quais seu gerente precisa imprimir o relatório pode ser ele é um relatório muito grande para ser lido no computador. Em uma planilha, você já deve estar familiarizado com a impressão de relatórios. Neste artigo, mostraremos como imprimir usando a codificação VBA. Siga este artigo pelos próximos 15 minutos para aprender como imprimir relatórios em VBA.

Sintaxe do VBA PrintOut no VBA Excel

Antes de vermos a sintaxe, deixe-me esclarecer isso primeiro. O que imprimimos, imprimimos intervalos, gráficos, planilhas, pastas de trabalho. Portanto, o método PrintOut () está disponível com todos esses objetivos.

[De]: A partir da página em que a impressão deve começar. Se não fornecermos nenhum valor, será tratado como na primeira página.

[Para]: Qual deve ser a última página a ser impressa? Se for ignorado, será impresso até a última página.

[Cópias]: Quantas cópias você precisa imprimir.

[Visualização]: gostaria de ver a visualização da impressão antes de continuar a imprimir. Se sim TRUE é o argumento, se não FALSE é o argumento.

Exemplos de impressão em VBA Excel

Abaixo estão os exemplos de impressão em VBA Excel.

Você pode baixar este modelo de impressão VBA do Excel aqui - modelo de impressão VBA do Excel

Para fins de ilustração, criei dados fictícios conforme mostrado na imagem abaixo.

Agora precisamos imprimir o relatório de A1 a D14, esse é o meu intervalo. Insira o intervalo no código VBA para acessar o método PrintOut.

Código:

 Sub Print_Example1 () Range ("A1: D14") End Sub 

Agora acesse o método PrintOut.

Código:

 Sub Print_Example1 () Range ("A1: D14"). PrintOut End Sub 

Não estou tocando em nenhum dos parâmetros, isso é o suficiente para imprimir o intervalo selecionado. Se eu executar este código, ele imprimirá o intervalo de células A1 a D14.

Parâmetros do método de impressão em VBA Excel

Agora copiei e colei os mesmos dados para usar outros parâmetros do método PrintOut no VBA Excel.

Quando queremos imprimir a folha inteira, podemos referir-nos a toda a folha como Folha Ativa, isto irá cobrir toda a folha nela.

  • Código para imprimir a planilha inteira.

Código:

Sub Print_Example1 () ActiveSheet.UsedRange.PrintOut 'Isso imprimirá todo o intervalo usado da folha. End Sub

  • Código para referir o nome da folha .

Código:

 Sub Print_Example1 () Sheets ("Ex 1"). UsedRange.PrintOut 'Isso também imprimirá todo o intervalo usado da folha chamada Ex 1. End Sub 

  • Código para imprimir todas as planilhas na pasta de trabalho .

Código:

Sub Print_Example1 () Worksheets.UsedRange.PrintOut 'Isso também imprimirá todo o intervalo usado de toda a planilha na pasta de trabalho. End Sub

  • Código para imprimir todos os dados da pasta de trabalho .

Código:

Sub Print_Example1 () ThisWorkbook.UsedRange.PrintOut 'Isso também imprimirá todo o intervalo usado de toda a planilha na pasta de trabalho. End Sub

  • Código para imprimir apenas a área selecionada .

Código:

 Sub Print_Example1 () Selection.PrintOut 'Isso irá imprimir apenas o intervalo selecionado End Sub 

Como usar o Método de Parâmetros de Impressão no Excel VBA?

Agora veremos como usar os parâmetros do método de impressão. Como disse, expandi os dados para usar outras propriedades.

Com certeza isso não vai imprimir na folha avulsa. Selecione o intervalo de A1 a S29.

Código:

 Sub Print_Example2 () Range ("A1: S29") End Sub 

Agora selecione o método de impressão.

Código:

 Sub Print_Example2 () Range ("A1: S29"). PrintOut End Sub 

O primeiro e o segundo parâmetros são de e para, qual é a posição das páginas inicial e final. Por padrão, ele imprimirá todas as páginas, portanto, não toco nesta parte. Agora, quero ver a visualização da impressão, por isso vou escolher Visualizar como TRUE.

Código:

 Sub Print_Example2 () Range ("A1: S29"). Visualização PrintOut: = True End Sub 

Agora vou rodar este código, veremos a visualização da impressão.

Isso está chegando em 2 páginas.

So first I want to set up the page to come in a single sheet. Use the below code to set up the page to come in one sheet.

Code:

 Sub Print_Example2() With Worksheets("Example 1").PageSetup .Zoom = False .FitToPagesTall = 2 .FitToPagesWide = 1 .Orientation = xlLandscape End With ActiveSheet.PrintOut Preview:= True End Sub 

This will set up the page to print in one sheet as well to print in landscape mode. Now the print preview will be like this.

Like this, we can use VBA print out a method to print the things we wanted to print and play around with them.