Notifications
Clear all

Ajuste de colunas na impressão

12 Posts
5 Usuários
0 Reactions
2,229 Visualizações
(@cazevedo)
Posts: 0
New Member
Topic starter
 

Boa tarde, estou precisando criar uma macro para imprimir algumas tabelas, porém o comando que eu fiz ele não ajusta as colunas para uma página só. As linhas não tem problema sairem em mais de uma página, mas as colunas sim.

O comando que estou utilizando é esse:

Sub Visualiza_Impressao()
ActiveSheet.PageSetup.PrintArea = Range(Cells(3, 13), Cells(110, 22)).Address
Application.Dialogs(xlDialogPrintPreview).Show
End Sub

Alguem poderia ajudar?

Obrigado.

 
Postado : 02/12/2016 2:35 pm
(@brunoxro)
Posts: 0
New Member
 

Boa tarde Cazevedo,

Primeiro verifique a área de impressão manualmente, vá em Layout da Página -> Área de Impressão e veja se seu dados estão dentro dessa área.
Para facilitar a colocação da tabelas você pode ir em Exibir -> Layout de Página.

Para a montagem de uma macro, coloque um exemplo, assim fica mais fácil ajudar.

att,

 
Postado : 02/12/2016 3:07 pm
(@edsonbr)
Posts: 0
New Member
 

Cazevedo, além do que o colega Bruno falou, também defina a propriedade a seguir para a 01 página de largura:

ActiveSheet.PageSetup.FitToPagesWide = 1
 
Postado : 02/12/2016 6:56 pm
(@mprudencio)
Posts: 0
New Member
 

Formata a planilha para que a impressao saia corretamente, e assunto resolvido

 
Postado : 03/12/2016 2:18 pm
(@cazevedo)
Posts: 0
New Member
Topic starter
 

Bom dia amigos, segue o arquivo com o exemplo.

Eu não formatei a planilha para sair corretamente, porque é justamente isso que preciso que a macro faça, vou ter várias tabelas com tamanhos diferentes, e preciso que ela ajuste automaticamente para 01 página de largura.

EdsonBR, eu coloquei o comando que falou mas ele não fez o ajuste ainda. Será que está na posição errada?
Dá uma olhada no exemplo que envio, por favor.

Obrigado.

Abs

 
Postado : 06/12/2016 7:39 am
(@mprudencio)
Posts: 0
New Member
 

Pra isso nao precisa de macros amigo.

Configurar Pagina > Pagina
Selecione
Ajustar para 1 de largura

Deixe o outro campo em branco

Confirme

Ou seja basta configurar a pagina para que a impressão saia corretamente.

 
Postado : 06/12/2016 10:33 am
(@cazevedo)
Posts: 0
New Member
Topic starter
 

MPrudencio, são mais de 300 planilhas, por isso estou tentando criar essa macro. Senão vou ter que entrar em cada uma e configurar na mão.

Abs

 
Postado : 06/12/2016 11:36 am
(@mprudencio)
Posts: 0
New Member
 

As 300 planilhas estao na mesma pasta?

Ou sao 300 pastas?

Se forem todas em uma mesma pasta e forem todas iguais

Basta o seguinte

Clique sobre a aba

Botao direito Selecionar todas as planilhas

Seguir os passos acima.

Selecione outra planilha para envitar uma edição em massa.

Se forem 300 pastas realmente com VBA.

 
Postado : 06/12/2016 12:09 pm
(@edsonbr)
Posts: 0
New Member
 
Sub Visualiza_Impressao()
   With ActiveSheet
      .ResetAllPageBreaks
      .PageSetup.FitToPagesWide = 1
      .PageSetup.PrintArea = Range(Cells(3, 2), Cells(110, 11)).Address
      .PrintPreview
   End With
End Sub
 
Postado : 06/12/2016 9:21 pm
(@cazevedo)
Posts: 0
New Member
Topic starter
 

Edson, bom dia.

Já havia tentado usar esse código para definir a largura da página ( .PageSetup.FitToPagesWide = 1), mas ele não ajusta. Na visualização continua quebrando.
Parece uma coisa tão simples, mas tá dificil solucionar com macro.

Obrigado.
Abs

 
Postado : 07/12/2016 7:11 am
(@basole)
Posts: 487
Reputable Member
 

Veja este opção:

Sub Visualiza_Impressao_2()
With ThisWorkbook
     .Activate
    .Application.PrintCommunication = False
    With .ActiveSheet.PageSetup
        .PrintArea = ""
        .FitToPagesWide = 1
        .FitToPagesTall = False
    End With
    .Application.PrintCommunication = True
    .Application.Dialogs(xlDialogPrintPreview).Show
    End With
End Sub

fonte: https://msdn.microsoft.com/en-us/library/microsoft.office.interop.excel.pagesetup.fittopagestall(v=office.15).aspx

 
Postado : 07/12/2016 8:34 am
(@cazevedo)
Posts: 0
New Member
Topic starter
 

Basole

Show!!!! Muito obrigado Basole. Resolvido, só delimitei o espaço que queria no .PrintArea e funcionou.
Abs

 
Postado : 07/12/2016 1:10 pm