![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
やりたいことは何点かあります。
1.PDFの保存用のファイルを作成
2.作成したファイル名は生成した月の名前が自動で生成される
3.保存するPDFは複数sheet
sheet一枚の場合は問題なく希望の結果が実行できたのですが
複数sheetを1枚のPDFにしたい場合にどうしてもうまくいきません。
構文エラーやらオブジェクトが必要ですとでます。
array関数を使用すればいいとは思うのですが、どこを修正すればよいか教えていただけたら幸いです。
エラー箇所
※Set ws = Sheets(Array("Sheet3", "Sheet4", "Sheet5")).Select
エラーメッセージ : オブジェクトが必要です。
仕事で時間短縮したいです。どうかよろしくお願いいたします。
Sub 自動PDF保存()
Dim ws As Worksheet
Dim filepath As String
Dim pdfname As String
※Set ws = Sheets(Array("Sheet3", "Sheet4", "Sheet5")).Select
filepath = ThisWorkbook.Path & "\" & Format(Date, "yyyymm")
pdfname = "kitkat"
With ws.PageSetup
'倍率クリア
.Zoom = False
'横方向1ページ
.FitToPagesWide = 1
'縦方向1ページ
.FitToPagesTall = 1
'水平方向中央
.CenterHorizontally = True
'上マージン1㎝
.TopMargin = Application.CentimetersToPoints(1)
'下マージン1㎝
.BottomMargin = Application.CentimetersToPoints(1)
End With
'フォルダ生成
If Dir(filepath, vbDirectory) = "" Then
MkDir filepath
End If
'PDF出力
ws.ExportAsFixedFormat _
Type:=xlTypePDF, Filename:=filepath & "\" & pdfname & ".pdf"
End Sub
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
No.1の者です。
すみません、できない様です。
文字列として、変数に入れておいて、それを参照する形になる様です。
Dim ws_Names As Variant
ws_Names = Array("Sheet3", "Sheet4", "Sheet5")
Worksheets(ws_Names).Select
https://www.relief.jp/docs/excel-vba-select-shee …
https://www.moug.net/tech/exvba/0040032.html
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- Excel(エクセル) 【マクロ】ファイル名の日付によって、保管するフォルダを、自動選択したい 4 2023/08/16 11:24
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) VBA 参照先で選んだファイルをコピーし、出力先に別名で保存したい 8 2022/05/13 20:37
- Visual Basic(VBA) シートを選択して、1つのPDFにしたいのですが。 5 2022/10/03 20:18
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) 【変更】ファイルを閉じてダイアログで保存した時、更新したシートだけの処理の実行をする 5 2022/03/26 18:31
- Visual Basic(VBA) VBA 請求書自動作成 3 2022/04/24 01:58
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
実行時エラー 3265「要求された...
-
エクセルマクロエラー「'Cells'...
-
VBAで Set wb = Sheets(1).Cop...
-
Excelでフィルタをかけると警告...
-
エクセルVBAでcode128のバー...
-
エクセルのVBAの標準モジュール...
-
VBAで既に開いている別アプリケ...
-
[VBA]CDOメッセージ送信エラー
-
Shell.ApplicationのNameSpace...
-
PowerPointVBAでスライドマスタ...
-
ある文字列が全て数字であるか...
-
VBAで作成するメール(開封確認...
-
【VB】【エクセル操作】 SaveAs...
-
VBAについてです。 初心者です...
-
VBScriptでのExcelブックのプロ...
-
VBAからPDFファイルにパスワー...
-
VBで引数にDictionaryオブジェ...
-
パワーポイント filedialogでフ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
エクセルのVBAの標準モジュール...
-
実行時エラー 3265「要求された...
-
Excelでフィルタをかけると警告...
-
VBAで既に開いている別アプリケ...
-
エクセルマクロエラー「'Cells'...
-
テキストボックス中の文字列の...
-
VBAで Set wb = Sheets(1).Cop...
-
ある文字列が全て数字であるか...
-
VBAからPDFファイルにパスワー...
-
VBScriptでファイルの日時順(降...
-
EXCEL VBA オートシェイプナン...
-
[VBA]CDOメッセージ送信エラー
-
エクセルVBAで2つの画像を比較...
-
PowerPointVBAでスライドマスタ...
-
UserForm1.Showでエラーになり...
-
上下の位置揃えについて
-
VBAについてです。 初心者です...
-
VBAで作成するメール(開封確認...
おすすめ情報