Excel VBA初心者です。マクロでワークシートごとに全てPDF出力したいのですが、出力時に全シート3ページ目だけを保存したいです。
Excel VBA初心者です。マクロでワークシートごとに全てPDF出力したいのですが、出力時に全シート3ページ目だけを保存したいです。 そして、保存するときに名前を〇〇様✕✕月領収証として保存したいです。 できれば各シートA1に名前が入っていてA2に日付(2022/1/1)が記入してあるのでその値を使用したいです。 自分で色々やってみたのですが、全てのワークシートをPDF化するところまではできたのですが、ページ指定と名前がうまくできません。 詳しい方どなたかご教授いただけないでしょうか?よろしくおねがいします。
Visual Basic | Excel・46閲覧・500
ベストアンサー
Option Explicit Sub test() Dim ws As Worksheet For Each ws In Worksheets ws.ExportAsFixedFormat Type:=xlTypePDF _ , Filename:=ThisWorkbook.Path & "\" & Range("A1").Value & "様" & Format(Range("A2").Value, "m") & "月領収証.pdf" _ , From:=3, To:=3, OpenAfterPublish:=True Next ws End Sub ※エクセルファイルと同じフォルダに出力しています。 ※同名ファイルがあると上書きします。 ※※出力後ファイルを開きます。開かない場合は OpenAfterPublish:=True、をFalseにしてください。
1人がナイス!しています
ご教授ありがとうございます。 試してみたところ一つのシートのみPDF化されたので ws.Activateを追加したところ無事機能することができました。 大幅な業務効率化ができます。ありがとうございました。 また機会があればご教授よろしくお願いいたします。
質問者からのお礼コメント
無事に要望を達成することができました。ありがとうございます。
お礼日時:1/22 17:10