Senhores, preciso de uma macro que ao ser acionada, imprima apenas a area selecionada da planilha.
Tentei da seguinte maneira mais dá o seguinte erro: "Erro de definição de aplicativo de de definição de objeto"
A macro que usei foi esta:
Range("B3").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False
Mais sempre dá o mesmo erro...
Alguém tem alguma solução?
Forte abraço!
Wolney K.
"O impossível, é só uma questão de tempo"
Bom dia!!
Tente adaptar...
Sub Imprimir() Dim myrange As String myrange = Cells(Rows.Count, 13).End(xlUp).Address ActiveSheet.PageSetup.PrintArea = "$A$1:" & myrange End Sub
Ou..
Fonte:
http://www.mrexcel.com/archive/VBA/15013d.html
Sub setprintarea() ActiveSheet.PageSetup.PrintArea = "=" & ActiveSheet.UsedRange.Address End Sub Sub SetArea() ActiveSheet.PageSetup.PrintArea = Range("A1", Range("M65536").End(xlUp)).Address End Sub Sub setprintarea() Dim myrange As String myrange = Cells(Rows.Count, 13).End(xlUp).Address ActiveSheet.PageSetup.PrintArea = "$A$1:" & myrange End Sub
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Alexandre, cara, desculpe, mais tentei de várias maneiras inserir o código que você me passou na minha planilha mais não consegui man...
É só copiar o código e atribuir ele á um botão?
Um detalhe: minha macro teria que clicar na célula B3 e selecionar toda á area com dados para a esquerda e toda á area com dados para baixo e então imprimir a seleção.
Faço isso porque abaixo da área escrita existem folhas que ficariam em branco na hora da impressão.
"O impossível, é só uma questão de tempo"
Bom dia!!
Me mande seu arquivo compactado!!
Att
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Opa!
Desculpe a demora Alexandre! Esta correria esse final de ano.
Segue em anexo o meu exemplo compactado.
Se o amigo puder dar uma luz sobre oq está acontecendo, agradeço DEMAIS man!
Forte abraço!
"O impossível, é só uma questão de tempo"
Bom dia!!
Meu problema é que eu não tenho como testar, nunca usei o Excel pra imprimir através de macros. (alias eu não o uso para NADA).
Tente os dois..depois retorne
Sub Imprimir() Application.ScreenUpdating = False Sheets(Array("Plan1")).PrintOut , , 1 ' Caso queira imprimir mais de uma guia Plan1.PrintOut , , 1 Application.ScreenUpdating = True End Sub Sub testeAleVBA() ActiveWindow.SelectedSheets.PrintOut End Sub
você que que ele imprima, uma planilha ativa, um intervalo específico, esse intervalo pode ter sua matrix alterada de tamanho?
Att
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
É assim Alexandre: O mais lógico seria eu ajustar a quebra de página e criar uma macro simples para imprimir certo?
Mais o caso é que na planilha original que eu tenho aqui, a minha tabela é uma planilha dinâmica e depende do filtro que eu coloco nela, ela muda de tamanho.
Por isso que eu preciso criar algo que mande o Excel imprmir apenas aonde exista texto, deixando as páginas em branco de fora da impressão.
Na lógica, aquele meu primeiro código que eu te mandei lá em cima, deveria funcionar... mais não funciona!
Se você tiver uma outra solução que faça isso para mim que não seja uma macro...
Essas duas macros que vc me mandou não estão funfando...
"O impossível, é só uma questão de tempo"
Boa tarde!!
Teste assim..
Sub testPrint() LastRow = Cells(Rows.Count, 2).End(xlUp).Row P_Range = "B3:F" & LastRow ActiveSheet.PageSetup.PrintArea = P_Range End Sub
Att
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Ótimo Alexandre!
Dessa maneira ele sempre irá puxar a quebra de página para a última linha com dados, aí é só mandar imprimir!
Muito Obrigado man!
Um forte abraço meu amigo e tenha um Ótimo final de semana!
"O impossível, é só uma questão de tempo"