Home » エクセルマクロ・Excel VBAの使い方 » ページ設定・PageSetup » VBAで印刷タイトルを設定する-PrintTitleRows・PrintTitleColumns

VBAで印刷タイトルを設定する-PrintTitleRows・PrintTitleColumns

対象:Excel2007, Excel2010, Excel2013, Windows版Excel2016

「EXCEL VBA 印刷 タイトル行」
という検索が、このサイト・インストラクターのネタ帳で行われていました。

印刷のタイトル行を設定する、

印刷タイトルを設定するExcelマクロ

Excel VBA(Visual Basic for Applications)のコードについて調べていた検索です。

[スポンサードリンク]

印刷のタイトル行・タイトル列を設定するサンプルマクロ

マクロ記録を行うと自動的に作られるコードをそのまま流用した、以下のようなマクロでタイトル行・タイトル列を設定できます。

Sub 印刷タイトルを設定する()
 With ActiveSheet.PageSetup
  .PrintTitleRows = "$1:$3"
  .PrintTitleColumns = "$A:$B"
 End With
End Sub

PageSetupオブジェクトの、PrintTitleRowsプロパティでタイトル行を、

印刷タイトルを設定するExcelマクロ

PrintTitleColumnsプロパティでタイトル列を、

印刷タイトルを設定するExcelマクロ

それぞれ設定できます。

PageSetup.PrintTitleRows・PageSetup.PrintTitleColumnsには文字列を指定する

PageSetup.PrintTitleRowsプロパティも、PageSetup.PrintTitleColumnsプロパティも、文字列を指定します。

オブジェクトを返すオブジェクト式と、文字列などの単なるデータを返すオブジェクト式の区別ができていないと、PageSetup.PrintTitleRowsプロパティ・PageSetup.PrintTitleColumnsプロパティに何を指定すればいいのか、戸惑ってしまうかもしれません。

例えばRowsプロパティを使って、印刷タイトル行を指定するなら以下のようなマクロです。

Sub 印刷タイトル行を指定する_Rowsプロパティ()
 ActiveSheet.PageSetup.PrintTitleRows = _
   Rows("1:3").Address
End Sub

Rowsプロパティは行全体を表すRangeオブジェクトを返しますから、例えば、
  ActiveSheet.PageSetup.PrintTitleRows = _
    Rows("1:3")
といったコードでは実行時エラーが発生します。

行を表す文字列を取得するために、Range.Addressプロパティを使う必要があります。

列全体を表すRangeオブジェクトを取得するColumnsプロパティを使って、印刷タイトル列を指定するなら以下のようなマクロです。

Sub 印刷タイトル列を指定する_Columnsプロパティ()
 ActiveSheet.PageSetup.PrintTitleColumns = _
   Columns("A:B").Address
End Sub

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » ページ設定・PageSetup » VBAで印刷タイトルを設定する-PrintTitleRows・PrintTitleColumns

「ページ設定・PageSetup」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.