• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ExcelVBAでのページ設定)

ExcelVBAでのページ設定

このQ&Aのポイント
  • ExcelVBAで新しいブックを開いてページ設定を変更する方法を説明します。
  • ExcelVBAを使用してページ設定を変更する際の注意点と、思い通りの動作をするための方法について解説します。
  • ExcelVBAで外部ファイルを読み込んで帳票を作成し、起動時に新しいブックを開いてページ設定を変更する方法について説明します。

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

  • ベストアンサー
  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.1

アクティブシートではなく、明示的にシートを指定してやれば良いと思います。 Private Sub Workbook_Open() Dim wb As Workbook  Set wb = Workbooks.Add(xlWBATWorksheet)  With wb.Worksheets(1).PageSetup     .TopMargin = Application.CentimetersToPoints(1.7)     .BottomMargin = Application.CentimetersToPoints(1.7)     .LeftMargin = Application.CentimetersToPoints(0.9)     .RightMargin = Application.CentimetersToPoints(1.1)     .HeaderMargin = Application.CentimetersToPoints(1.3)     .FooterMargin = Application.CentimetersToPoints(1.3)  End With End Sub

MusaGoro
質問者

お礼

papayukaさん 早々にご回答頂き、ありがとうございます。 教えて頂いた方法で、正しく設定することが出来ました。 これまでVBは結構使ってきたのですが、VBAは初めてで、似て非なるものがあり、四苦八苦しております。 よろしければ1点教えて欲しいのですが、 wb.Worksheets(1) の引数1は、何を表すのでしょうか? よろしくお願いします。

その他の回答 (1)

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.2

#1です。 > wb.Worksheets(1)の引数1は、何を表すのでしょうか? シートの Index 番号です。 一番左のシートから 1,2,3・・・・のようになります。

MusaGoro
質問者

お礼

papayuka様 深夜にもかかわらず早々に回答を頂ながら、お礼が遅くなり失礼しました。 少しずつVBAが分かって来ました。 ありがとうございました。

関連するQ&A