Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


401 / 13645 ツリー ←次へ | 前へ→

【80569】複数選択したシートに、ページ番号の設定をするVBAについて わか 19/3/11(月) 19:41 質問[未読]
【80570】Re:複数選択したシートに、ページ番号の設... マナ 19/3/11(月) 20:38 発言[未読]
【80571】Re:複数選択したシートに、ページ番号の設... わか 19/3/12(火) 8:23 質問[未読]
【80572】Re:複数選択したシートに、ページ番号の設... マナ 19/3/12(火) 17:43 発言[未読]

【80569】複数選択したシートに、ページ番号の設定...
質問  わか  - 19/3/11(月) 19:41 -

引用なし
パスワード
   初めまして。マクロ初心者です。
前任者が組んだマクロを参考に初めてマクロに挑戦しています。
うまく行かない作業があるため、どなたかご教授の方よろしくお願い致します。

同一エクセル内の複数あるシートの中で
任意のシートを「手動で選択」し
その後マクロで「ページ番号/総ページ」を設定し
印刷したいのですが、うまく作動できません。

以下、現在の状態です。

1枚にページ設定は入るのですが、全部に設定されません。
印刷は選択したすべてが出ます。


Sub ページ番号設定印刷()
'
' ページ番号設定印刷 Macro
'
With ActiveSheet.PageSetup
    .LeftHeader = ""
    .CenterHeader = ""
    .RightHeader = ""
    .LeftFooter = ""
    .CenterFooter = "&P/&N"
    .RightFooter = ""
    .LeftHeader = ""
  End With

  ActiveWindow.SelectedSheets.PrintOut Copies:=1
  
End Sub

【80570】Re:複数選択したシートに、ページ番号の...
発言  マナ  - 19/3/11(月) 20:38 -

引用なし
パスワード
   ▼わか さん:

>印刷は選択したすべてが出ます。

印刷の部分は、ちゃんと選択したシートが対象になっているからです。

>  ActiveWindow.SelectedSheets.PrintOut Copies:=1


'-----

>1枚にページ設定は入るのですが、全部に設定されません。

それは、ActiveSheetにのみ、ページ設定しているからです。

>With ActiveSheet.PageSetup

でも、最初に1回だけ、全シートで設定しておけば、
印刷の都度、設定する必要がないと思います。

【80571】Re:複数選択したシートに、ページ番号の...
質問  わか  - 19/3/12(火) 8:23 -

引用なし
パスワード
   ▼マナ さん:

回答ありがとうございます。
重要書類で、またシートを増やしたりすることも多いので、間違いがないようにあえてマクロで印刷までの一括を組もうとしています。

下記では、

>>With ActiveSheet.PageSetup

が問題であるとのことでしたので

With ActiveSheet.PageSetupを
ActiveWindow.SelectedSheets.PageSetup
に書き換えてみましたが
エラーが表示されます。

どう記載すれば選択しているシートに対し
ヘッダー、フッダーが作動するのか
今後の他への展開への勉強も兼ね、ご教授頂ければ幸いです。

宜しくお願い致します。

Sub ページ番号設定印刷()
'
' ページ番号設定印刷 Macro
'
With ActiveSheet.PageSetup
    .LeftHeader = ""
    .CenterHeader = ""
    .RightHeader = ""
    .LeftFooter = ""
    .CenterFooter = "&P/&N"
    .RightFooter = ""
    .LeftHeader = ""
  End With

  ActiveWindow.SelectedSheets.PrintOut Copies:=1
  
End Sub

>▼わか さん:
>
>>印刷は選択したすべてが出ます。
>
>印刷の部分は、ちゃんと選択したシートが対象になっているからです。
>
>>  ActiveWindow.SelectedSheets.PrintOut Copies:=1
>
>
>'-----
>
>>1枚にページ設定は入るのですが、全部に設定されません。
>
>それは、ActiveSheetにのみ、ページ設定しているからです。
>
>>With ActiveSheet.PageSetup
>
>でも、最初に1回だけ、全シートで設定しておけば、
>印刷の都度、設定する必要がないと思います。

【80572】Re:複数選択したシートに、ページ番号の...
発言  マナ  - 19/3/12(火) 17:43 -

引用なし
パスワード
   ▼わか さん:

>With ActiveSheet.PageSetupを
>ActiveWindow.SelectedSheets.PageSetup
>に書き換えてみましたが
>エラーが表示されます。

手作業と同じで、まとめて設定はできないので

For each sht in ActiveWindow.SelectedSheets
  With sht.PageSetup

のように、1シートずつ設定してください。

401 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free