[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『シートを指定してPDFに出力』(チャロ)
お世話になります。
VBAで特定のシートだけをPDF出力するマクロにチャレンジしていますが
うまくいきません。
まず、ファイルは1つとなり、
「名前」シートには以下のように名前がリストになっています。
Aさん
Dさん
Jさん
そのほかのシートはPDFで出力したいデータが載ったシートとなり、
シート名は名前となっています。
今回名前のリストとシート名が合致したシートのみPDF出力したいのですが、
うまく指定できず、泣く泣く全てのシートをPDF出力して余計なものを削除しております。
どうかお力を貸していただければと思います。
< 使用 Excel:Excel2010、使用 OS:Windows10 >
(渡辺ひかる) 2019/07/17(水) 15:57
名前シートのA1セルから下にリストになっているものとする。 また、ファイルはCドライブのWKフォルダに作成する。
(ねむねむ) 2019/07/17(水) 15:58
Sub tst() Dim WK_RANGE As Range Dim FILE_NAME As String Set WK_RANGE = Worksheets("名前").Range("A1") On Error Resume Next Do Until WK_RANGE.Value = "" FILE_NAME = WK_RANGE.Value
Worksheets(FILE_NAME).ExportAsFixedFormat Type:=xlTypePDF, _ Filename:="C:\WK\" & FILE_NAME & ".pdf", _ Quality:=xlQualityStandard, IncludeDocProperties:=True, _ IgnorePrintAreas:=False, OpenAfterPublish:=False Set WK_RANGE = WK_RANGE.Offset(1, 0) Loop On Error GoTo 0 End Sub (ねむねむ) 2019/07/17(水) 15:58
Sub Macro1()
Dim myShtAr As Variant Dim myData As Variant
myData = ThisWorkbook.Worksheets("名前").Range("A1").CurrentRegion.Value myShtAr = WorksheetFunction.Transpose(myData)
ThisWorkbook.Sheets(myShtAr).Select ActiveSheet.ExportAsFixedFormat _ Type:=xlTypePDF, _ Filename:="目的に合わせて変更.pdf", _ Quality:=xlQualityStandard, _ IncludeDocProperties:=True, _ IgnorePrintAreas:=False, _ OpenAfterPublish:=False
ThisWorkbook.Worksheets("名前").Select
End Sub
(渡辺ひかる) 2019/07/17(水) 16:30
渡辺ひかるさん
質問の内容がわかりずらく失礼いたしました。
指定のシートのみと言う動きに関しては、いただいたコードも参考にさせていただきたいと思います。
まとめて1つのPDFへ出力する形も今後考えておりましたので助かりました!
ありがとうございます。
(チャロ) 2019/07/17(水) 17:55
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.