• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【VBA】複数シートをWorksheetにset)

【VBA】複数シートをWorksheetにset

このQ&Aのポイント
  • Excel2010のVBAにおいて、Worksheetオブジェクトに、複数シートの値を格納させることが出来ず困っています。
  • MAINSHT_MULTIというWorksheetオブジェクトに、複数のシートを設定するコードを記載していますが、エラーNo.13が発生してしまいます。
  • 実現したいことは、worksheetオブジェクトに格納されたシートを1つのPDFに出力することです。

質問者が選んだベストアンサー

  • ベストアンサー
  • eden3616
  • ベストアンサー率65% (267/405)
回答No.2

Sub test() Sheets(Array("A", "B", "C", "D", "E")).Select ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\out.pdf" End Sub 複数シートをオブジェクト変数に格納することはできません。 手作業で行う場合でも、シートを選択してからPDF出力されるかと思います。 VBAにおいても、複数シーtを「select」してから出力してください。 1つのシートにまとまります。

enjik333
質問者

お礼

早々のお返事ありがとうございます。 オブジェクト変数だけでやろうとするのは、 仕様上不可能なんですね。 大変参考になりました。 また宜しくお願い致します。

その他の回答 (2)

  • eden3616
  • ベストアンサー率65% (267/405)
回答No.3

No2で訂正です。 >1つのシートにまとまります。 1つのPDFファイルにまとまります。

回答No.1

前提条件として、どういうブック、シートがあって、具体的に、何を元に、何を、どうしたらどうなるハズが、どうなるから困ってるのか?不明瞭です。 > Worksheetオブジェクトに、複数シートの値を格納させることが出来ず困っています。 ABCDEの順に上書きで格納するんなら、最後に格納したEになればいいの? A~Eは新規のシートなの?既存のシートなの?ならば同じブックにあるの? > そもそも、これは無理なことなのでしょうか? コードを見ると、WorksheetにWorkbookを放り込もうとしてる様に見えるし。 > もともと実現したいことは、 これが出来なくて、迷走してわけの分からない事やろうとしてるようにも見えるし。 まずは、 自分が何をどうしたいのか? 問題点は何なのか? Excelのマクロ、VBAの操作ならそもそもそれは手作業で出来る事なのか?その手順は? なんかを整理することからでは。

enjik333
質問者

お礼

ご指摘頂きありがとうございます。 おっしゃることはごもっともでございます。 自身の整理のためにも記載しますと、 >自分が何をどうしたいのか? ⇒シートをselectせずに、1つのPDF出力モジュールで、  任意のシート数を1つのPDFファイルに出力したい >問題点は何なのか? ⇒既存の知識で上記を達成することは可能だが、  selectしactiveシートを出力する、というステップを  省略可能なのかテストしたところエラーがでた。  方法が悪いのか、仕様上の問題なのか判断がつかなかった。 その他、いろいろ言葉足らずの部分があったと思います。 失礼しました。

関連するQ&A