Ir ao conteúdo

Excel Gerar PDF a partir de determinada aba


Ir à solução Resolvido por Muca Costa,

Posts recomendados

Postado

Galera,

Tô precisando de um empurrãozinho. Peguei um código da net que gera todo um arquivo em PDF, mas queria que gerasse a partir da terceira aba e não estou sabendo adaptar (código abaixo):

 

Sub SalvaArquivoExcelEmPDF()
 ThisWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
  "E:\PC SOLAR\Processos\PRÉ-PROJETOS\" & [E64] & ".pdf"
End Sub

 

Ficaria grato se alguém me ajudasse.

Postado

Tente assim:

 

Sub GerarPDF()
On Error Resume Next
    Dim newSheet    As Worksheet
    Dim PLANILHA    As String
    Dim i As Integer
    
    For i = 3 To ThisWorkbook.Sheets.Count 'A partir da 3ª aba
        Set newSheet = ThisWorkbook.Sheets(i)
        newSheet.Activate
        PLANILHA = newSheet.Name
        
        newSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ThisWorkbook.Path & "\ " & PLANILHA & ".pdf", Quality:=xlQualityStandard, _
            IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False 'True
            newSheet = Nothing
    Next
    MsgBox "Arquivos gerados com sucesso!!!", vbInformation, "Geração de arquivos PDF"
End Sub

 

  • Curtir 1
Postado

Muca Costa,

 

Agradecido pela atenção e pela ajuda. Mas se você salvasse num só arquivo e direcionasse esse arquivo PDF pra ser salvo nesse caminho:

E:\PC SOLAR\Processos\PRÉ-PROJETOS\" & [E64] & ".pdf, eu ficaria grato

Postado
Sub GeraPDF()
    Dim FileNome As String
    
    NomeFic = Range("E64")
    If NomeFic = "" Then Exit Sub
    strDir =  "E:\PC SOLAR\Processos\PRÉ-PROJETOS" & "\"
    FileNome = strDir & NomeFic
    
    On Error GoTo ERRO
     
    If Dir(strDir, vbDirectory) = "" Then
        MkDir strDir
        Sheets(Array(3, 4, 5, 6, 7)).Select 'A partir da 3ª aba até a 7ª

        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
                                        Filename:=FileNome, _
                                        Quality:=xlQualityStandard, _
                                        IncludeDocProperties:=True, _
                                        IgnorePrintAreas:=False, _
                                        OpenAfterPublish:=True
        MsgBox "Foi criado o documento: " & FileNome
    Else
        Sheets(Array(3, 4, 5, 6, 7)).Select 'A partir da 3ª aba até a 7ª
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
                                        Filename:=FileNome, _
                                        Quality:=xlQualityStandard, _
                                        IncludeDocProperties:=True, _
                                        IgnorePrintAreas:=False, _
                                        OpenAfterPublish:=True
        MsgBox "Foi criado o documento: " & FileNome
         
    End If
    
    Sheets(1).Select
    Exit Sub
     
ERRO:
    MsgBox "Ocorreu um erro, o arquivo não foi criado , verifique se o arquivo não está aberto"

End Sub

 

  • Curtir 1
Postado

Muca Costa,

 

Perfeita, era o que eu estava desejando mesmo. Só que surgiu um probleminha aqui. Tenho 16 planilhas que aparece como plan1 e quatro que aparece como Planilha1 e estas ultimas o seu código não inclui. O que faço??

  • Solução
Postado

O arquivo tem 20 abas, então seria de 3 a 20 e não de 3 a 18

 

Sheets(Array(3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)).Select

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...