エクセルマクロに関する質問です。
範囲指定している部分以外を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
No.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
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Sheet「状況」から、分類の年齢別カウント数をSheet「D表」へ転記する下記マクロを作っています 7 2022/12/14 17:57
- Visual Basic(VBA) 他のシートからコピーする下記マクロで貼付け位置をWorksheets(1).Range("A3")の 8 2023/01/30 18:48
- Excel(エクセル) 【マクロ】ファイル名の日付によって、保管するフォルダを、自動選択したい 4 2023/08/16 11:24
- Visual Basic(VBA) excel2021で実行できないマクロ。どこを直したらいいのか 2 2022/03/28 03:40
- Excel(エクセル) なぜExit Subがあるのかわかりません 4 2023/02/19 12:34
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Excel(エクセル) エクセル 値をコピペした時に、条件付き書式で塗られた背景色もペーストさせる 2 2023/04/05 17:21
- Visual Basic(VBA) Excelのマクロについて教えてください。 1 2023/03/12 12:16
- その他(プログラミング・Web制作) python OpenPyXLを使って出力結果をエクセルに書き込み 2 2022/06/04 19:46
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルファイルを開く時、常...
-
エクセルの一部のセルの背景色...
-
マクロで印刷→セルの値から部数...
-
エクセルのマクロで複数シート...
-
【Excel】複数シートがあるエク...
-
エクセル 出納帳印刷時の繰越...
-
エクセル 改ざん防止のため ...
-
エクセルで行番号、列アルファ...
-
1ヶ月分の日付を一度に出す方法...
-
エクセルで横置きのシートにペ...
-
EXCELで複数のシートを同時に印...
-
エクセル印刷時 一枚の書類に...
-
条件によって印刷するシートを...
-
Excel 特定のシートを印刷不可...
-
エクセルで横長の表を一枚に印...
-
特定のセルに数値が入っている...
-
エクセルでシートの色がグレー...
-
エクセルで同一シート上にA3とA...
-
Excelファイルを複数選択して、...
-
Excel等、同一の大きさでページ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルファイルを開く時、常...
-
エクセルの一部のセルの背景色...
-
エクセル印刷時 一枚の書類に...
-
1ヶ月分の日付を一度に出す方法...
-
マクロで印刷→セルの値から部数...
-
エクセルの行タイトルを特定の...
-
エクセルのマクロで複数シート...
-
Excel 特定のシートを印刷不可...
-
エクセルで複数のシートの1枚目...
-
エクセルでのヘッダーをページ...
-
エクセルでシートの色がグレー...
-
エクセルで行番号、列アルファ...
-
条件によって印刷するシートを...
-
EXCELで複数のシートを同時に印...
-
エクセルのシート名を印刷した...
-
エクセルで複数のシートを同じ...
-
エクセルで、ヘッダーに他のシ...
-
EXCELで宛名だけ連続変更...
-
Excelであるシートだけ印刷でき...
-
エクセルの複数シートをNアップ...
おすすめ情報
>このブックのシート構成ですが、・・・で合ってますか?
はい。合っています。
>PDFの印刷は、・・・にしておけば、うまくいくような気がします。
改ページ位置を調整しただけで、印刷範囲設定していませんでした。印刷範囲設定してやってみました。
301ページになりました。17ページになりませんでした。
>その他の解決方法としては・・・ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF
Sheets(19).Select・・・ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF
の部分を、NEXTの後ろに入れると、うまくいきました。17ページになりました。