Jump to content
Fórum Script Brasil
  • 0

Definir automaticamente área de impressão


Question

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 to post
Share on other sites

4 answers to this question

Recommended Posts

  • 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 to post
Share on other 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 to post
Share on other 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 to post
Share on other 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 to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Cloud Computing


  • Forum Statistics

    • Total Topics
      149405
    • Total Posts
      645894
×
×
  • Create New...