Ir para conteúdo
Fórum Script Brasil
  • 0

Definir automaticamente área de impressão


Albino Sergio

Pergunta

Boa tarde senhores,

Gostaria de uma macro que defina automaticamente área de impressão somente das linhas preenchidas, ignorando as últimas linhas que estiverem com asfunções vazias (="").

Exemplo 1:  Seu eu tiver na planilha 45 linhas preenchidas (com letras ou numeros), a macro automatize área de impressão para 1 página, ignorando as linhas abaixo que estiverem em vazia com a função:  =""

Exemplo 2: Seu eu tiver na planilha 98 linhas preenchidas (com letras ou numeros), a macro automatize área de impressão para 2 páginas, ignorando as linhas abaixo que estiverem em vazia com a função:  =""   e assim por diante.

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Boa noite 

Olha se assim ele seleciona e define a área de impressão

Sub cPageSetupCustom()

lastRow = 2
rTotal = ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row
For x = rTotal To 2 Step -1
    If ActiveSheet.Cells(x, "A").value <> "" Then
        lastRow = x
        x = 2
    End If
Next x

Range("A1:H" & lastRow).Select
ActiveSheet.PageSetup.PrintArea = "$A$1:$H$" & lastRow
    
End Sub

 

Link para o comentário
Compartilhar em outros sites

  • 0

Obrgado Alyson pelo seu retorno a minha pergunta,

Segue abaixo a planilha como exemplo para você ver melhor, a medida que eu mudar pra mais ou pra menos o numero de linhas telefonicas, a área de impressão pode aumentar ou diminuir e consequentemente a área de impressão.

Caso seja possível, posso enviar o modelo em excel por email.

  

área impressão automatica¹.png

área impressão automatica.png

Link para o comentário
Compartilhar em outros sites

  • 0

Boa tarde @Albino Sergio

Como não sei como é seu projeto "exatamente" pode ser que tenha entendi errado.

Fiz alteração no código para que quando faça alteração alteração na planilha ela executar o código novamente:

Private Sub Worksheet_Change(ByVal Target As Range)
    cPageSetupCustom
End Sub

E o código alterei para coluna E (olhando se tem alguma coisa diferente "" na coluna E:

Sub cPageSetupCustom()

lastRow = 2
rTotal = ActiveSheet.Cells(Rows.Count, "E").End(xlUp).Row
For x = rTotal To 2 Step -1
    If ActiveSheet.Cells(x, "E").value <> "" Then
        lastRow = x
        x = 2
    End If
Next x

'Range("A1:H" & lastRow).Select
ActiveSheet.PageSetup.PrintArea = "$A$1:$H$" & lastRow
    
End Sub

Segue o print do código colocando dentro da folha (planilha) que esta o código:

image.thumb.png.15de5846e5839b92c885e107b853c243.png

Olha se conseguiu entender.

Link para o comentário
Compartilhar em outros sites

  • 0

Acho que estamos quase lá, a área de impressão que preciso nesse exemplo, ´$B$1: $E$ 

Sendo que que: como a função (="") nas colunas "B", "C", "D" e "E" vão até a linha 120, ele está configurando para 3 páginas, considerando as células com funções (="") que estão vazias, quando deveria ser 1 página, pois preencheu até a linha 36.

E quando houver alteração para 90 números de telefones (por exemplo), a área de impressão seja alterada automaticamente para 2 páginas. 

Pesquisas¹.png

1 minuto atrás, Albino Sergio disse:

Acho que estamos quase lá, a área de impressão que preciso nesse exemplo, ´$B$1: $E$ 

Sendo que que: como a função (="") nas colunas "B", "C", "D" e "E" vão até a linha 120, ele está configurando para 3 páginas, considerando as células com funções (="") que estão vazias, quando deveria ser 1 página, pois preencheu até a linha 36.

E quando houver alteração para 90 números de telefones (por exemplo), a área de impressão seja alterada automaticamente para 2 páginas. 

Pesquisas¹.png

correção nas colunas B, C, D e E: "=SE($A37="";"";B36=1)" ...

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...