Fórum Excel Bácico, Avançado e Vba
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
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  Últimas imagensÚltimas imagens  ProcurarProcurar  RegistarRegistar  Entrar  

 

 Salvar em PDF Algumas Planilhas

Ir para baixo 
3 participantes
AutorMensagem
rafasg




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

Salvar em PDF Algumas Planilhas Empty
MensagemAssunto: Salvar em PDF Algumas Planilhas   Salvar em PDF Algumas Planilhas EmptyQua 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
Ir para o topo Ir para baixo
alexandrevba

alexandrevba


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

Salvar em PDF Algumas Planilhas Empty
MensagemAssunto: Re: Salvar em PDF Algumas Planilhas   Salvar em PDF Algumas Planilhas EmptyDom 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
Ir para o topo Ir para baixo
alexandrevba

alexandrevba


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

Salvar em PDF Algumas Planilhas Empty
MensagemAssunto: Re: Salvar em PDF Algumas Planilhas   Salvar em PDF Algumas Planilhas EmptyDom 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
Ir para o topo Ir para baixo
rafasg




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

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

Bom dia,
É isso mesmo, funcionou.

Obrigado.
Ir para o topo Ir para baixo
alexandrevba

alexandrevba


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

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

Boa noite!!

Que bom que seu problema resolvido!!!

cheers
Att
Ir para o topo Ir para baixo
DavidFelix




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

Salvar em PDF Algumas Planilhas Empty
MensagemAssunto: Amigos estou com uma Duvida Sobre como gravar em PDF esta area do excel   Salvar em PDF Algumas Planilhas EmptySáb 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.

[
Ir para o topo Ir para baixo
alexandrevba

alexandrevba


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

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

Boa noite!!

Abra seu próprio tópico!!

Att
Ir para o topo Ir para baixo
Conteúdo patrocinado





Salvar em PDF Algumas Planilhas Empty
MensagemAssunto: Re: Salvar em PDF Algumas Planilhas   Salvar em PDF Algumas Planilhas Empty

Ir para o topo Ir para baixo
 
Salvar em PDF Algumas Planilhas
Ir para o topo 
Página 1 de 1
 Tópicos semelhantes
-
» Preciso de ajuda com formulas de excel e configuração de algumas folhas
» Salvar condicional
» Salvar planilha em PDF, através de botão
» Desabilitar Salvar Como
» Salvar Arquivo com SENHA

Permissões neste sub-fórumNão podes responder a tópicos
Fórum Excel Bácico, Avançado e Vba :: Intermediário :: Excel Intermediário-
Ir para: