デビッドは専門家協会の選挙を管理しており、有権者の名簿はワークシートです。有権者は約1,200人いるため、印刷物の長さは20ページを超えます。 Davidは、ページ番号が記載されたフッターを持っています。これは便利ですが、各ページのヘッダーに、ページの名と姓を含めることができれば素晴らしいと思います。

Excelでは、これを行うためのネイティブな方法はありません。ただし、Wordで行うのは比較的簡単です。したがって、1つの解決策は、並べ替えられた名前をWord文書に貼り付けてから、名前を示す目的のヘッダーを追加することです。

これは機能しますが、リストのWordバージョンが常にExcelバージョンのリストと同期していることを確認するのは面倒です。逆もまた同様です。

投票者リストの単一バージョンをExcelに保持することにした場合、問題に取り組む最善の方法は、マクロを使用して姓名をヘッダーに挿入することです。このようなマクロのコードは、明らかに、ワークシートのデータのレイアウトに合わせて調整する必要があります。次のマクロは、名前が列AからCにあり、姓(ヘッダーに使用する名前)が列Cにあることを前提としています。

Sub PrintNamesInHeader()

Dim iPages As Integer     Dim iPage As Integer     Dim iHorPgs As Integer     Dim iHP As Integer     Dim iHPNext As Integer     Dim iCol As Integer     Dim iColLast As Integer     Dim lRow As Long     Dim lRowLast As Long     Dim sPrtArea As String

iCol = 1        'Col A     iColLast = 3    'Col C     With ActiveSheet         iPages = ExecuteExcel4Macro("Get.Document(50)")

iHorPgs = .HPageBreaks.Count + 1         sPrtArea = .PageSetup.PrintArea

For iPage = 1 To iPages             iHP = ((iPage - 1) Mod iHorPgs)

iHPNext = iHP + 1             If iHP = 0 Then                 If sPrtArea = "" Then                     lRow = 1                 Else                     lRow = .Range(sPrtArea).Cells(1).Row                 End If             Else                 lRow = .HPageBreaks(iHP).Location.Row             End If             If iHPNext > .HPageBreaks.Count Then                 lRowLast = .Cells(lRow, iColLast).End(xlDown).Row             Else                 lRowLast = .HPageBreaks(iHPNext).Location.Row - 1             End If             .PageSetup.LeftHeader = .Cells(lRow, iCol).Value & _               " - " & .Cells(lRowLast, iColLast)

.PrintOut From:=iPage, To:=iPage, preview:=True         Next     End With End Sub

マクロを実行すると、ワークシートの各ページをステップスルーします。ページにヘッダーが設定され、1ページが印刷され、次のページが検査および処理されます。

注:

このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(9542)は、Microsoft Excel 97、2000、2002、および2003に適用されます。Excel(Excel 2007以降)のリボンインターフェイス用のこのヒントのバージョンは、次の場所にあります。