Salvar certas folhas como PDF

2

Eu tenho uma pasta de trabalho do Excel, onde o usuário final faz alguma seleção, com base em que as folhas que precisam ser salvas como um único PDF, estão inscritas na Folha 1, célula B10 assim (E1, E2, E3, E4 ...)

Agora eu tentei esta macro abaixo, mas ela não funciona corretamente, as razões são dadas abaixo do código:

Sub pdff()

   Sheets("E1").Activate
   ActiveSheet.UsedRange.Select
   Sheets("E2").Activate
   ActiveSheet.UsedRange.Select
   Sheets("E3").Activate
   ActiveSheet.UsedRange.Select

   ThisWorkbook.Sheets(Array("E1", "E2","E3")).Select
   Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
      "C:\Users\Damon\Desktop\pdfmaker.pdf", Quality:=xlQualityStandard, _
      IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
      True
End Sub

Os problemas com o código:

  • Depois que o código é executado, ele agrupa as folhas, o que deve ser desagrupado manualmente.
  • O código salva as áreas fora da área de impressão definida (o que não acontece se eu salvar cada folha manualmente como PDF)
  • O código não é dinâmico, ele não seleciona os nomes das planilhas célula B10
por Firee 28.03.2016 / 10:31

1 resposta

1

Com:

Estaversãoatenderáatodasassuasmetas:

Subpdff()DimsAsString,ary,a,shAsWorksheetSetsh=ActiveSheets=Sheets("Sheet1").Range("B10").Text
    ary = Split(s, ",")

    For Each a In ary
        Sheets(a).Select
        Sheets(a).Activate
        Sheets(a).Range(ActiveSheet.PageSetup.PrintArea).Select
    Next a

    ThisWorkbook.Sheets(ary).Select

    Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "C:\Users\Damon\Desktop\pdfmaker.pdf", Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
        True

    sh.Select
End Sub

Apenas certifique-se de ter uma Folha1 , bem como as folhas E1 .

    
por 28.03.2016 / 15:19