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以降)のリボンインターフェイス用のこのヒントのバージョンは、次の場所にあります。