« ヘッダー・フッターに画像を表示させる | トップページ | 先頭ページ,奇数・偶数ページのヘッダー・フッターの設定 »

2020年4月13日 (月)

複数ページにまたがる表を印刷する時に,表タイトルを各ページに表示させる

表が大きくて1ページに収まらないとき
2ページ目以降に
表のタイトル行・列が表示されずに見にくくなってしまいます。

そのような場合に
表のタイトル行・列を各ページに印刷できる設定があります。

手動で設定する場合は
[ページレイアウト]タブ-[印刷タイトル]をクリックすると
下の画像のウィンドウが表示されます。

Vba20200413a

[印刷タイトル]項目の
[タイトル行]か[タイトル列]の矢印をクリックして
セルの範囲を指定します。

表が1ページの幅に入る場合は
タイトル行のみ指定すればOKです。

表が縦横の複数ページにわたる場合は
タイトル行、タイトル列の両方の範囲を指定します。

VBAで
タイトル行、タイトル列を指定する方法を見ていきます。

PrintTitleRowsプロパティに行の範囲を指定し、
PrintTitleColumnsプロパティに列の範囲を指定します。
複数の行、複数の列も指定できます。

次のコードはタイトル行に5行目、
タイトル列にA列を指定します。
実行すると2ページ目以降にも
5行目、A列が表示されるようになります。

表タイトルを各ページに表示するコード1:

Sub macro20200413a()
'タイトル行・タイトル列を設定する

    With ActiveSheet.PageSetup
        .PrintTitleRows = "$5:$5"
        .PrintTitleColumns = "$A:$A"
    End With

End Sub



行・列の範囲指定に
Rangeプロパティを使用できます。

次のコードは
4-5行目をタイトル行に、A-B列をタイトル列に指定します。
Rangeプロパティで指定している範囲は
タイトル行にA1:A2、タイトル列にA4:A5ですが、
A1:A2が含まれる行全体、A4:A5が含まれる列全体の範囲に
自動で変換されます。

表タイトルを各ページに表示するコード2:

Sub macro20200413b()
'タイトル行・タイトル列を設定する

    With ActiveSheet.PageSetup
        .PrintTitleRows = Range(Cells(4, 1), Cells(5, 1)).Address
        .PrintTitleColumns = Range(Cells(1, 1), Cells(1, 2)).Address
    End With

End Sub

使用Ver:Excel For Office365

|

« ヘッダー・フッターに画像を表示させる | トップページ | 先頭ページ,奇数・偶数ページのヘッダー・フッターの設定 »

コメント

この記事へのコメントは終了しました。