|
▼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
|
|