Fórum Excel Bácico, Avançado e Vba

Este fórum é destina a usuário de Excel, que queiram compartilhar informações a básicas, avançadas e programação em VBA...
 
InícioInício  FAQFAQ  BuscarBuscar  MembrosMembros  GruposGrupos  Registrar-seRegistrar-se  Login  

Compartilhe | 
 

 Salvar em PDF Algumas Planilhas

Ver o tópico anterior Ver o tópico seguinte Ir em baixo 
AutorMensagem
rafasg



Mensagens : 8
Data de inscrição : 10/08/2012

MensagemAssunto: Salvar em PDF Algumas Planilhas   Qua Ago 22, 2012 4:46 pm

Bom dia,

Uso o código abaixo para salvar em pdf cada planilha ativa do meu projeto, porém, como geralmente
preciso salvar o orçamento e também o cheklist, gostaria de saber como uso o mesmo código
para salvar duas planilhas (exempl: Plan1 e Plan2) juntas

Sub Salvando()
Dim Nome As String
Dim SDate As String
Dim MyLocal As String
MyLocal = "C:\"
Nome = Range("A1").Value
SDate = Now
If Nome <> vbNullString Then
Sheets("Plan1").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
MyLocal & Nome & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
True
MsgBox "O arquivo " & Nome & " foi salvo em " & SDate & ".", vbOKOnly, "Salvo"
Else
MsgBox "Nome do arquivo inválido", vbOKOnly, "Salvo"
End If
End Sub

Rafael
Voltar ao Topo Ir em baixo
Ver perfil do usuário
alexandrevba



Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

MensagemAssunto: Re: Salvar em PDF Algumas Planilhas   Dom Ago 26, 2012 8:24 pm

Boa tarde!!

Veja se é isto
Código:
Sub Exportar_Para_Pdf()
strFilePath = "D:\DATA\test\"

' Application.ScreenUpdating = False
On Error Resume Next
For j = 1 To 2 ' As duas primeiras planilhas
  strPdfName = Sheets(j).Name
  Sheets(j).Copy
  ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=strFilePath & strPdfName, _
                                                  Quality:=xlQualityStandard, _
                                                  IncludeDocProperties:=True, IgnorePrintAreas:=False, _
                                                  OpenAfterPublish:=False
     
  ActiveWorkbook.Close (False)
Next
'Application.ScreenUpdating = True
End Sub
Voltar ao Topo Ir em baixo
Ver perfil do usuário
alexandrevba



Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

MensagemAssunto: Re: Salvar em PDF Algumas Planilhas   Dom Ago 26, 2012 9:24 pm

Boa tarde!!!

Outra maneira...
Você pode fazer isso com qualquer número de folhas, criando uma folha de consolidação de todas as folhas que deseja exportados e depois exportar essa folha temporária.

Código:
Sub test()
    Dim mySheets As Sheets
    Dim SaveToPath As String
   
    Set mySheets = Worksheets(Array("Sheet1", "Sheet2", "Sheet3"))
   
    SaveToPath = "Macintosh HD:Users:merickson:Desktop:test"
   
    With ConsolidationSheet(mySheets, "")
        .ExportAsFixedFormat Type:=xlTypePDF, Filename:=SaveToPath, _
            Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True

        Application.DisplayAlerts = False
        .Delete
        Application.DisplayAlerts = True
    End With
End Sub

Function ConsolidationSheet(mySheets As Sheets, Optional SheetHeader As Variant) As Worksheet
    Dim tempSheet As Worksheet
    Dim StartNewSheetRow As Long, StartNewSheetCell As Range
    Dim i As Long
    With mySheets(1).Parent
        Set tempSheet = .Worksheets.Add(before:=.Sheets(1))
    End With
   
    For i = 1 To mySheets.Count
        StartNewSheetRow = ReallyUsedRange(tempSheet).Rows.Count + 1
        Set StartNewSheetCell = tempSheet.Cells(StartNewSheetRow, 1)
        Select Case TypeName(SheetHeader)
            Case "String"
                If SheetHeader = vbNullString Then
                    tempSheet.Cells(StartNewSheetRow, 1).Value = mySheets(i).Name
                Else
                    tempSheet.Cells(StartNewSheetRow, 1).Value = SheetHeader
                End If
            Case "Range"
                tempSheet.Cells(StartNewSheetRow, 1).Value = mySheets(i).Range(SheetHeader.Cells(1, 1).Address).Text
        End Select
        StartNewSheetRow = ReallyUsedRange(tempSheet).Rows.Count + 1
       
        ReallyUsedRange(mySheets(i)).Copy Destination:=tempSheet.Cells(StartNewSheetRow, 1)
        tempSheet.HPageBreaks.Add before:=StartNewSheetCell
    Next i
    tempSheet.Rows(1).Delete
    Set ConsolidationSheet = tempSheet
End Function

Function ReallyUsedRange(aSheet As Worksheet) As Range
    Dim lastRow As Long, lastColumn As Long
    Dim i As Long
    With aSheet
        lastRow = 0
        For i = 1 To .UsedRange.Columns.Count + .UsedRange.Column
            lastRow = Application.Max(.Cells(.Rows.Count, i).End(xlUp).Row, lastRow)
        Next i
        lastColumn = 0
        For i = 1 To lastRow
            lastColumn = WorksheetFunction.Max(.Cells(i, .Columns.Count).End(xlToLeft).Column, lastColumn)
        Next i
        Set ReallyUsedRange = .Range("A1").Resize(lastRow, lastColumn)
    End With
End Function
Voltar ao Topo Ir em baixo
Ver perfil do usuário
rafasg



Mensagens : 8
Data de inscrição : 10/08/2012

MensagemAssunto: Re: Salvar em PDF Algumas Planilhas   Seg Ago 27, 2012 4:30 pm

Bom dia,
É isso mesmo, funcionou.

Obrigado.
Voltar ao Topo Ir em baixo
Ver perfil do usuário
alexandrevba



Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

MensagemAssunto: Re: Salvar em PDF Algumas Planilhas   Ter Ago 28, 2012 2:54 am

Boa noite!!

Que bom que seu problema resolvido!!!

cheers
Att
Voltar ao Topo Ir em baixo
Ver perfil do usuário
DavidFelix



Mensagens : 16
Data de inscrição : 22/03/2013

MensagemAssunto: Amigos estou com uma Duvida Sobre como gravar em PDF esta area do excel   Sab Mar 23, 2013 1:39 am

Eu quero que ao clicar no botao para gravar ele me grave uma area da folha do excel e grave um pdf.
Mas não sei que VBA usar obrigado se ouver alguem que me ajude obrigado.

[
Voltar ao Topo Ir em baixo
Ver perfil do usuário
alexandrevba



Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

MensagemAssunto: Re: Salvar em PDF Algumas Planilhas   Dom Mar 24, 2013 1:40 am

Boa noite!!

Abra seu próprio tópico!!

Att
Voltar ao Topo Ir em baixo
Ver perfil do usuário
Conteúdo patrocinado




MensagemAssunto: Re: Salvar em PDF Algumas Planilhas   Hoje à(s) 2:51 am

Voltar ao Topo Ir em baixo
 
Salvar em PDF Algumas Planilhas
Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo 
Página 1 de 1
 Tópicos similares
-
» Algumas dúvidas minhas à respeito do Nintendo 64
» problemas para salvar inventario
» [Resolvido]Salvar sprite como gif animado durante o jogo
» [dúvida]Carregar e Salvar Arquivo
» Como Troca ícone do Jogo e Salvar o Jogo em EXE que de para Rodar

Permissão deste fórum:Você não pode responder aos tópicos neste fórum
Fórum Excel Bácico, Avançado e Vba :: Intermediário :: Excel Intermediário-
Ir para: