Excelに関する長年の不満の1つは、ヘッダーとフッターを作成および管理するための非常に堅牢な方法がないことです。

次のシナリオを検討してください。ワークシートを印刷したいが、2ページ目から始まるページ番号のみがあります。

この状況を処理するためのExcelには固有の方法はありません。いくつかの回避策があります。たとえば、最初のページを1つのワークシート(ヘッダーまたはフッターなし)に配置し、後続のページを別のワークシート(ヘッダーとフッターを含む)に配置できます。その後、1回のパスで2つのワークシートを印刷して、目標を効果的に達成できます。

レポートマネージャーがインストールされている場合は、それを使用して、ワークシートの情報に基づいてさまざまなレポートをまとめることができます。

レポートマネージャーの使用については、_ExcelTips_の他の問題で説明されています。レポートマネージャーアドインはExcel2002で最後に配布されましたが、Excel2003でも引き続き使用できます。

ただし、これらのアプローチのいずれもすべての状況で機能するわけではありません。たとえば、印刷物を複数のワークシートに分割できない場合や、レポートマネージャの経験が少ない場合(またはダウンロードしてインストールしたくない場合)があります。必要に応じて、ワークシートを必要に応じて印刷するマクロを作成できます。

次のマクロGoodPrintは、ヘッダーまたはフッターのないワークシートの最初のページを印刷し、その後、通常どおりすべての後続のページを印刷します。

Sub GoodPrint()

Dim hlft As String     Dim hctr As String     Dim hrgt As String     Dim flft As String     Dim fctr As String     Dim frgt As String

'save current header     hlft = ActiveSheet.PageSetup.LeftHeader     hctr = ActiveSheet.PageSetup.CenterHeader     hrgt = ActiveSheet.PageSetup.RightHeader

'save current footer     flft = ActiveSheet.PageSetup.LeftFooter     fctr = ActiveSheet.PageSetup.CenterFooter     frgt = ActiveSheet.PageSetup.RightFooter

'remove header and footer     With ActiveSheet.PageSetup         .CenterHeader = ""

.RightHeader = ""

.LeftHeader = ""

.CenterFooter = ""

.RightFooter = ""

.LeftFooter = ""

End With

'print page one     ActiveSheet.PrintOut 1, 1

'restore header and footer     With ActiveSheet.PageSetup         .LeftHeader = hlft         .CenterHeader = hctr         .RightHeader = hrgt         .LeftFooter = flft         .CenterFooter = fctr         .RightFooter = frgt     End With

'print the rest of the pages     ActiveSheet.PrintOut 2 End Sub

注:

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

link:/ excelribbon-ExcelTipsMacros [ここをクリックして、新しいブラウザタブでその特別なページを開きます]

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

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

link:/ excelribbon-Selective_Headers_and_Footers [Selective Headers andFooters]