Excel VBA質問箱 IV

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

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


10359 / 13644 ツリー ←次へ | 前へ→

【22282】フッターのコピー watanabe 05/2/14(月) 18:47 質問[未読]
【22283】Re:フッターのコピー ichinose 05/2/14(月) 21:11 回答[未読]
【22285】Re:フッターのコピー ponpon 05/2/14(月) 22:15 回答[未読]
【22306】Re:フッターのコピー watanabe 05/2/15(火) 15:30 お礼[未読]

【22282】フッターのコピー
質問  watanabe  - 05/2/14(月) 18:47 -

引用なし
パスワード
   複数のExcelファイルからシートをコピーして別の一つのBookにするVBAを使っているのですが、各シートにはフッターを指定してありますが内容は違います。一つのBookにするとフッターまではコピーされません。コピーの方法でワークシートごとコピーすればフッターも同じですが、Cells.Selectでコピーしているのでフッターは消えてしまいます。

そこでフッターをコピー元のシートの特定セルにフッターの中身を書き出し、一つのBookにする際にコピー先のシートに元のシートのフッターを書き出したセル番地を指定してシートごとに違うフッターにしたいのですがそのコードが分かりません。教えて下さい。
因みにWorksheets("Sheet1").Copy after:=・・・・・とするとフッターもコピーされます。

【22283】Re:フッターのコピー
回答  ichinose  - 05/2/14(月) 21:11 -

引用なし
パスワード
   ▼watanabe さん:
こんばんは。

>複数のExcelファイルからシートをコピーして別の一つのBookにするVBAを使っているのですが、各シートにはフッターを指定してありますが内容は違います。一つのBookにするとフッターまではコピーされません。コピーの方法でワークシートごとコピーすればフッターも同じですが、Cells.Selectでコピーしているのでフッターは消えてしまいます。
>
>そこでフッターをコピー元のシートの特定セルにフッターの中身を書き出し、一つのBookにする際にコピー先のシートに元のシートのフッターを書き出したセル番地を指定してシートごとに違うフッターにしたいのですがそのコードが分かりません。教えて下さい。
>因みにWorksheets("Sheet1").Copy after:=・・・・・とするとフッターもコピーされます。
フッター情報は、Pagesetupオブジェクトのプロパティにあります。
フッターを設定する動作をマクロの記録を使用するとわかると思います。

新規ブックに以下のコードをコピーして実行してみて下さい。
例では、中央に配置するフッターを取り上げています。

'=========================================================
Sub test()
  Dim bk As Workbook
  Dim motosht As Worksheet
  Set motosht = mk_sample
  Set bk = Workbooks.Add
  motosht.Cells.Copy bk.Worksheets(1).Range("a1")
  With bk.Worksheets(1).PageSetup
   .CenterFooter = motosht.PageSetup.CenterFooter
   End With
End Sub
'====================================================================
Function mk_sample() As Worksheet
'コピー元のサンプル作成
  Range("a1:d10").Value = "aaa"
  With ActiveSheet.PageSetup
   .CenterFooter = "&P / &N ページ" 'フッダーに ページ/総ページを設定
   End With
  Set mk_sample = ActiveSheet
End Function

【22285】Re:フッターのコピー
回答  ponpon  - 05/2/14(月) 22:15 -

引用なし
パスワード
   ichinose さん:
watanabe さん:
ponponです。こんばんは。
マクロの記録から、こんなのができました。
フッターは中央です。
新しいbookのシート1に元シートのフッターを設定します。
ichinose さん 少し上達したでしょ。\(^^)/

Sub Macro1()
  Dim wb As Workbook
  Dim A As String
   A = Sheets("moto").PageSetup.CenterFooter  'motoシートのフッター
  
   Set wb = Workbooks.Add
   With wb.Sheets("Sheet1")
    .Range("A1").Value = "1" 'セルに何かないとフッターが設定できないから
    .PageSetup.CenterFooter = A
   End With
End Sub

【22306】Re:フッターのコピー
お礼  watanabe  - 05/2/15(火) 15:30 -

引用なし
パスワード
   ponpon さん、ichinose さん:
ありがとうございました。
おかげさまで解決しました。

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