アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセルマクロに関する質問です。
範囲指定している部分以外をPDF出力されないようにしたいです。

以下のマクロをつくりました。
マクロを実行したところ、出力されたPDFは301ページありました。
ほしいPDFは、出力されたPDFの、うしろから 17ページだけです。

コピー元のSheet1は、改ページプレビューの機能を使って印刷範囲指定しました。
コピー元のSheet1について、ファイルタブの印刷を選択して出てくるプレビュー画面が、1/1ページで、印刷したい状況であることを確認しました。

どこを改善したらよいか、わかりません。

どうぞよろしくお願いします。


Sub Sheet1copy_and_datacopy_and_PDF() 'Sheet1をコピーして、ワークシートのデータを挿入してPDF'

Dim i As Long
For i = 1 To 17

Worksheets("Sheet1").Copy after:=Worksheets("Sheet1") 'Sheet1をSheet1の後ろにコピー'
ActiveSheet.Range("B3:K502").Value = Worksheets(i).Range("B3:K502").Value
ActiveSheet.Range("A1").Value = Worksheets(i).Range("A1").Value
ActiveSheet.Name = ActiveSheet.Range("A1").Value & "wh(t)"
ActiveSheet.PageSetup.PrintArea = Range("AG2:AX50").Address
Next

ThisWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ActiveSheet.Range("A1").Value & "wh(t)", From:=19

End Sub

質問者からの補足コメント

  • >このブックのシート構成ですが、・・・で合ってますか?
    はい。合っています。

    >PDFの印刷は、・・・にしておけば、うまくいくような気がします。
    改ページ位置を調整しただけで、印刷範囲設定していませんでした。印刷範囲設定してやってみました。
    301ページになりました。17ページになりませんでした。

    >その他の解決方法としては・・・ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF

    Sheets(19).Select・・・ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF
    の部分を、NEXTの後ろに入れると、うまくいきました。17ページになりました。

    No.1の回答に寄せられた補足コメントです。 補足日時:2018/04/12 13:41

A 回答 (1件)

このブックのシート構成ですが、データのシートが17シート。

その後ろに雛型シート(Sheet1)があり、その後ろに印刷用シートが17シート作成されるという認識で合ってますか?

PDFの印刷は、ブック全体のうち19ページ目(印刷用シート)から出力するようになっていますが、データの各シートは、1ページに収まってますか?もし複数ページになるようであれば「シートを1ページに印刷」にしておけば、うまくいくような気がします。

その他の解決方法としては・・・
①ThisWorkbook.ExportAsFixedFormatメソッドをNEXTの前に入れる。
②印刷したいシートだけを選択してPFD化する。冗長的な書き方ですが、こんな感じです。

Sheets(19).Select
Sheets(20).Select (False)
Sheets(21).Select (False)
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF
この回答への補足あり
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2018/04/12 13:42

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!