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