エンドユーザーがいくつかの選択を行うExcelブックがあり、それに基づいて、単一のPDFとして保存する必要のあるシートが、このようにシート1、セルB10(E1、E2、E3、E4 .. .. )
以下でこのマクロを試しましたが、正しく機能しません。理由はコードの下にあります。
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
コードの問題:
と:
このバージョンは、すべての目標を満たします。
Sub pdff()
Dim s As String, ary, a, sh As Worksheet
Set sh = ActiveSheet
s = 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
Sheet1とE1シートがあることを確認してください。