教えて!gooにおける不適切な投稿への対応について

閲覧ありがとうございます。

標題につきまして質問です。

マクロを用いて、複数シート(保存時任意で指定)を1つのファイルとして、PDFで固定のフォルダに保存したいのですが、コードはどのようにすればよいでしょうか。

PDFファイル名は都度変更したく、固定のセルにCONCATENATE数式を入力し、そのセルから取得する形としたいのですが。。

当方マクロ初心者ですので、恐れ入りますが具体的なコードを教えて頂けますと助かります。

Excelのバージョンは2010となっております。

宜しくお願い致します。

gooドクター

A 回答 (3件)

No.1のそのままだと"シート1"と"シート2"に固定されます



Sheets(Array("シート1", "シート2")).Select
この部分を削除して、都度選択した状態でマクロを起動する事が良いかと思いますが、
そうなるとNo.2の方が示されている方法が実務としては単純な解決法となります
    • good
    • 0

直接の回答ではありませんが、もっと簡単なやり方がExcelの機能としてあります。


バージョンは2010、シートを指定したい、ということですので、以下の手順になります。

【手順】
エクセルファイルを開く
PDFにしたいシートを選択(複数可)
[ファイル]タブの[保存と送信] → [PDF/XPSドキュメントの作成] → [PDF/XPSの作成]を実行(添付図参照)
フォルダ、ファイル名を指定して発行ボタンを押して保存
「(Excel)マクロで複数シートをPDF」の回答画像2
    • good
    • 0

こんにちは。


やり方としては、自動記録を使えば構文は簡単にわかります。
シートを複数選択した状態で「名前を付けて保存」から ファイルの種類 → PDF を選び保存をします。

下記の構文はデスクトップに保存するやり方です。

Sub PDFファイルデスクトップ保存()
Dim Path As String, WSH As Variant

Set WSH = CreateObject("Wscript.Shell")
Path = WSH.SpecialFolders("Desktop") & "\"

Sheets(Array("シート1", "シート2")).Select

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
Path & "PDFファイル保存" & Range("A1").Value & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=True

End Sub

下記の構文はDドライブに保存するやり方です。
Sub PDFファイルDドライブ保存()

Sheets(Array("シート1", "シート2")).Select

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"D:\" & "PDFファイル保存" & Range("A1").Value & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=True

End Sub


固定セルの部分は Range("A1"). で設定してください。
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています

gooドクター

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング