Impressão de dados de planilhas diferentes usando VBA no Microsoft Excel

Anonim

Neste artigo, criaremos uma macro para imprimir dados de planilhas diferentes.

Temos diferentes dados brutos em duas folhas e queremos personalizar a impressão a partir dessas folhas.

Antes de executar a macro, temos que especificar o tipo de impressão necessária e especificar o nome, intervalo ou visualização personalizada.

Criamos uma visualização personalizada “customView1”.

Explicação lógica

Criamos a macro “PrintReports” para impressão personalizada. Esta macro fará um loop começando da célula A13 até a última linha. Podemos especificar três tipos diferentes para impressão personalizada.

Para o tipo 1, precisamos especificar o nome da folha na próxima coluna.

Para o tipo 2, precisamos especificar o intervalo para o qual queremos a impressão.

Para o tipo 3, precisamos especificar o nome da visualização personalizada.

Explicação do código

Para cada Cell1 no intervalo ("A13", ActiveCell.End (xlDown))

O código acima é usado para fazer um loop a partir da célula A13 até a última linha.

DefinedName = ActiveCell.Offset (0, 1) .Value

O código acima é usado para obter o valor da célula na próxima coluna da célula ativa.

Selecione Case Cell1.Value

Caso 1

'Selecionando a folha definida

Folhas (DefinedName) .Selecione

Caso 2

'Selecionando o intervalo definido

Referência Application.Goto: = DefinedName

Caso 3

'Selecionando a visão personalizada definida

ActiveWorkbook.CustomViews (DefinedName) .Show

End Select

A instrução Select acima é usada para selecionar a área especificada com base no tipo definido pelo usuário.

ActiveWindow.SelectedSheets.PrintOut

O código acima é usado para imprimir a área selecionada.

Siga abaixo para o código

 Option Explicit Sub PrintReports () 'Variáveis ​​declaradas Dim DefinedName As String Dim Cell1 As Range' Desativar atualizações de tela Application.ScreenUpdating = False 'Looping por todas as células para cada célula1 no intervalo ("A13", ActiveCell.End (xlDown)) Folhas ("Principal"). Ative 'Selecionando a célula Célula1.Selecione' Obtendo o valor do nome da planilha ou intervalo definido DefinedName = ActiveCell.Offset (0, 1) .Value Select Case Cell1.Value Case 1 'Selecionando as planilhas definidas Sheets (DefinedName ) .Select Case 2 'Selecionando o intervalo definido Application.Goto Reference: = DefinedName Case 3' Selecionando a visão personalizada definida ActiveWorkbook.CustomViews (DefinedName) .Show End Select 'Imprimindo os dados necessários ActiveWindow.SelectedSheets.PrintOut Next Application.ScreenUpdating = True End Sub 

Se você gostou deste blog, compartilhe com seus amigos no Facebook. Além disso, você pode nos seguir no Twitter e no Facebook.

Gostaríamos muito de ouvir de você, diga-nos como podemos melhorar nosso trabalho e torná-lo melhor para você. Escreva para nós no site de e-mail