ページヘッダーの姓名(Microsoft Excel)
デビッドは専門家協会の選挙を管理しており、有権者の名簿はワークシートです。有権者は約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以降)のリボンインターフェイス用のこのヒントのバージョンは、次の場所にあります。
linkページヘッダーの姓名。