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!


Topo da página


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