ヘッダーとフッターのコピー(Microsoft Excel)
Excelでは、ワークシートのヘッダーとフッターを指定できます。これらのヘッダーとフッターをあるワークシートから別のワークシートにコピーすることをお勧めします。ワークブック内でこれを行うのは比較的簡単ですが、あるワークブックから別のワークブックに行うのはさらに困難な場合があります。
ヘッダーとフッターが新しいワークブックでかなり使用するものであり、ヘッダーとフッターを(既存のワークブックではなく)新しいワークブックで使用できるようにすることが主な関心事である場合、最良のアプローチはテンプレートワークブックを作成することです。 。ヘッダーとフッターの指定を含め、必要に応じてワークブックを設定するだけです。次に、ブックをExcelテンプレート(XLT形式)として保存します。次に、このテンプレートに基づいてワークブックを作成できます。ワークブックには、必要なヘッダーとフッターが含まれます。
あるワークブックのワークシートから別のワークブックのワークシートにヘッダーとフッターをコピーする1つの方法は、コピーと貼り付けの従来の編集方法を使用することです。つまり、コピーするヘッダーマテリアルを選択し、Ctrl + Cを押して、ターゲットワークシートにヘッダーを表示してから、Ctrl + Vを押すことができます。このアプローチの欠点は、かなりの数のステップが必要になる可能性があることです。結局のところ、ヘッダーごとに3つのセクション(左、中央、右)があり、フッターごとに3つのセクションがあります。つまり、ヘッダーとフッター全体をコピーするには、6つのコピーアンドペースト操作を実行する必要があります。
あるワークブックから別のワークブックにヘッダーとフッターをコピーする別の方法には、ネイティブのExcelコマンドを使用してワークシートのコピーを作成することが含まれます。
次の手順に従ってください:
。ターゲットワークブックを開きます。ヘッダーとフッターをコピーする先。
。ヘッダーとフッターのソースであるブックを開き、目的のワークシートが表示されていることを確認します。
。 [編集]メニューから[シートの移動]または[シートのコピー]を選択します。 Excelは、[移動またはコピー]ダイアログボックスを表示します。 (図1を参照)
。 [To Book]ドロップダウンリストを使用して、手順1で開いた対象のブックを選択します。
。 [シートの前]領域を使用して、シートをコピーする場所を指定します。
。 [コピーを作成する]チェックボックスがオンになっていることを確認します。
。 [OK]をクリックします。ワークシートがターゲットワークブックにコピーされます。
。手順2のソースワークブックを閉じます。
。ターゲットワークブックで、コピーしたワークシートを表示します。
。ウィンドウ下部のタブ領域で、右クリックして[すべてのシートを選択]を選択します。これで、すべてのワークシートが選択されました。
。 [ページ設定]ダイアログボックスを表示します。 ([ファイル]メニューから[ページ設定]を選択します。)
。 [ヘッダー/フッター]タブが選択されていることを確認します。 (図2を参照)
。 [ヘッダーとフッター]ドロップダウンリストを使用して、コピーしたワークシートで使用されているヘッダーとフッターを選択します。
。 [OK]をクリックします。
。手順1〜7でコピーしたワークシートを削除します。
基本的には、必要なヘッダーとフッターを含むワークシートをコピーし、そのヘッダーとフッターをブック内の他のワークシートにコピーしてから、元のワークシートを削除しました。
これらの手順は正常に機能しますが、ヘッダーとフッターをさまざまなブックにコピーする必要がある場合は面倒な場合があります。この場合、マクロを使用してコピーを実行するのが賢明なアプローチです。次の2つのマクロを使用して、1つの簡単な手順でヘッダーとフッターをコピーできます。ソースワークシートを表示し、GetHeadersマクロを使用するだけです。このマクロは、ヘッダーとフッターの情報を文字列変数にコピーします。次に、同じヘッダーとフッターを使用する各ワークシートを表示して、DoHeadersマクロを実行できます。
Option Explicit Dim strHeadLeft As String Dim strHeadCenter As String Dim strHeadRight As String Dim strFootLeft As String Dim strFootCenter As String Dim strFootRight As String Dim bGotHeaders As Boolean Sub GetHeaders() With ActiveSheet.PageSetup strHeadLeft = .LeftHeader strHeadCenter = .CenterHeader strHeadRight = .RightHeader strFootLeft = .LeftFooter strFootCenter = .CenterFooter strFootRight = .RightFooter bGotHeaders = True End With End Sub
Sub DoHeaders() If bGotHeaders Then With ActiveSheet.PageSetup .LeftHeader = strHeadLeft .CenterHeader = strHeadCenter .RightHeader = strHeadRight .LeftFooter = strFootLeft .CenterFooter = strFootCenter .RightFooter = strFootRight End With Else MsgBox "Select the sheet with the " _ & "headers you want to copy," _ & vbCrLf & "then run 'GetHeaders'", _ vbExclamation, "No Headers In Memory" End If End Sub
必要に応じて、マクロをツールバーボタンに割り当てることもできます。これにより、ヘッダーやフッターをコピーするのにさらに便利になります。
ヘッダーとフッターをコピーするワークシートとワークブックがかなりある場合は、使用できる別のマクロアプローチがあります。次のマクロは、ヘッダーとフッターをアクティブなワークシートから他のすべての開いているワークブックの他のすべてのワークシートにコピーします。
Sub CopyHeaderFooter() Dim PS As PageSetup Dim WB As Workbook Dim WS As Worksheet Set PS = ActiveSheet.PageSetup For Each WB In Workbooks For Each WS In WB.Worksheets With WS.PageSetup .LeftHeader = PS.LeftHeader .CenterHeader = PS.CenterHeader .RightHeader = PS.RightHeader .LeftFooter = PS.LeftFooter .CenterFooter = PS.CenterFooter .RightFooter = PS.RightFooter End With Next Next End Sub
つまり、ヘッダーとフッターを現在のワークシートから15の異なるブックにまたがる150の他のワークシートにコピーする場合は、15のブックを同時に開き、ソースワークシートを表示して、マクロを実行するだけです。 。
注:
このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。
このヒント(2696)は、Microsoft Excel 97、2000、2002、および2003に適用されます。Excel(Excel 2007以降)のリボンインターフェイス用のこのヒントのバージョンは、次の場所にあります。
linkヘッダーとフッターのコピー。