[[20190307185138]] 『指定シート以外を個別にPDF化』(やすえ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『指定シート以外を個別にPDF化』(やすえ)

色々勉強したりマクロの記録を使ってマクロで請求書データをシート別に作成するマクロを作りました。

その各シートをそれぞれ、特定名称+シート名で名前をつけてPDF化したいと考えてます。
しかしPDF化しないで良いシート(固定名)が「あ」「い」「う」「え」と4つあり、PDF化したいシート名は固定名でありません
(請求先の名称です)

どのようにマクロを組めば良いか途方にくれております。。。
ご教授いただければ幸いです。

< 使用 Excel:Excel2016、使用 OS:Windows10 >


 一案として

    Dim ws As Worksheet
    For Each ws In Worksheets
       Select Case ws.Name
           Case "あ", "い", "う", "え"
           Case Else
               'PDF化するコードの呼び出し
       End Select
    Next

(seiya) 2019/03/07(木) 19:07


ありがとうございます

'PDF化するコードの呼び出し
を下記のようにしたら全てのシートがPDFになってしまいました。
きっと全てのシートをPDF化するコードなんですね。。。

PA = ThisWorkbook.Path
ChDir PA
For i = 1 To Worksheets.Count
Worksheets(i).Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=PA & "\" & Worksheets(i).Name & ".pdf", _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
Next i
(やすえ) 2019/03/08(金) 09:45


 ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=PA & "\" & Worksheets(i).Name & ".pdf", _ 
 Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False 
 この部分がPDF化するコードなのでこれだけをseiyaさんのに入れてみてくれ。
(ねむねむ) 2019/03/08(金) 09:50

すみません。

上記のところでエラーが出ました。。。
(やすえ) 2019/03/08(金) 10:07


 すまない。
 Worksheets(i).Name
 部分を
 ws.Name
 に置き換えてくれ。

 あとエラーが出た場合には何というエラーが出たのかも報告してくれるとありがたい。
(ねむねむ) 2019/03/08(金) 10:13

失礼しました。
現状も、実行時エラー1004が出ております。
除外している以外にシートはあるのですが保存時エラーが返ってきます。
(やすえ) 2019/03/08(金) 10:21

 ActiveSheet.ExportAs〜
 ↓
 ws.ExportAs〜

 ですかね。ちなみに ChDir PA はいらないと思います。
(bi) 2019/03/08(金) 10:23

 あと
 PA = ThisWorkbook.Path 
 これを
 For Each ws In Worksheets
 の前に入れてみてくれ。
(ねむねむ) 2019/03/08(金) 10:27

 seiyaさんとやすえさんのコードを合わせると

 Sub 変換()

     Dim ws As Worksheet
     Dim PA As String

     PA = ThisWorkbook.Path

     For Each ws In Worksheets
         Select Case ws.Name
             Case "あ", "い", "う", "え"
             Case Else
               ws.ExportAsFixedFormat Type:=xlTypePDF, Filename:=PA & "\" & ws.Name & ".pdf", _
               Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
         End Select
     Next

 End Sub

 のような感じですけど、これでもエラーが出ますか?
(bi) 2019/03/08(金) 10:29

ねむねむさん
出来ました。ありがとうございます。非常に助かりました!
これで30分かけて一生懸命やってた仕事から解放されます!
biさんもありがとうございます。
(やすえ) 2019/03/08(金) 10:32

 >マクロで請求書データをシート別に作成するマクロを作りました。
 ということだったので
 >'PDF化するコードの呼び出し
 としたので、紛らわしかったですね。

 私の想像したのはこんな感じです。

 Sub test()
     Dim ws As Worksheet
     For Each ws In Worksheets
        Select Case ws.Name
            Case "あ", "い", "う", "え"
            Case Else
             SaveAsPDF ws, ThisWorkbook.Path
        End Select
     Next
 End Sub 

 Sub SaveAsPDF(ws As Worksheet, PA As String)
     ws.ExportAsFixedFormat Type:=xlTypePDF, Filename:=PA & "\" & ws.Name & ".pdf", _
     Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, 
OpenAfterPublish:=False
 End Sub

(seiya) 2019/03/08(金) 10:39


seiyaさん

PDFファイルを開いたらマクロ登録してるボタンのあるシートを色んな名前でPDFにしていた結果だったので戻ってきたら、seiyaさんのコードでそれも改善されて各シートをPDF化完璧でした!!!
重ね重ねありがとうございます。
(やすえ) 2019/03/08(金) 11:09


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.