question

Como usar as areas de impressao dinâmicas em Excel VBA?

Tenho uma macro que se extrai de certos itens de linha de uma tabela de dados usando um filtro e coloca-los em um relatório. Uma semana pode haver 20 linhas, o próximo 60, etc. Como para escrever uma macro que será capaz de definir a área de impressão para uma linha de fundo diferentes cada vez?
resposta Resposta
Desde que você saiba como extrair os dados e construir e colocar um bloco de dados em um relatório, em seguida, você pode usar currentregion para obter as dimensões do bloco para imprimir a declaração da área como

Definir tbl = ActiveCell.CurrentRegion

ActiveSheet.PageSetup.PrintArea = tbl.Endereço

você apenas tem que certificar-se de depois você despejar os dados úteis no relatório, o cursor estiver em uma célula do bloco e, em seguida, a área de impressão será definido automaticamente para as dimensões conforme o esperado.

Comentários Comentários

Guest
Leandro na 6 Jan 2023
0
Uma maneira de fazer isso é ajustar dinamicamente a área de impressão usando VBA. Você pode usar o método "PrintArea" para definir a área de impressão com base nas linhas de dados que você está trabalhando. Por exemplo, você pode encontrar o último número de linha com dados usando a função "End(xlDown)" e, em seguida, definir a área de impressão usando essa informação.

Aqui está um exemplo de código que pode ajudar a definir a área de impressão dinâmica:

Sub DefineAreaDeImpressaoDinamica()
Dim UltimaLinha As Long
UltimaLinha = Planilha1.Cells(Rows.Count, 1).End(xlUp).Row
Planilha1.PageSetup.PrintArea = "$A$1:$D$" & UltimaLinha
End Sub

Claro, você precisará ajustar o código de acordo com a estrutura e as necessidades específicas do seu relatório. Mas espero que este exemplo lhe dê um ponto de partida para trabalhar com áreas de impressão dinâmicas em VBA no Excel. Boa sorte!

O seu comentário
Acho que a resposta não está correta ou que você gostaria de acrescentar mais
alguma informação? Envie o seu comentário abaixo..

Guest


HTML não é permitido!

Image Code

Digite os caracteres que aparecem na imagem por isso sabemos que você é humano!

Receber um email quando alguém acrescenta outro comentário a esta pergunta


Topo da página


Home  Terms
Copyright © Accelerated Ideas 2005-2024
All rights reserved