「EXCEL VBA 印刷 タイトル行」
という検索が、このサイト・インストラクターのネタ帳で行われていました。
印刷のタイトル行を設定する、
Excel VBA(Visual Basic for Applications)のコードについて調べていた検索です。
印刷のタイトル行・タイトル列を設定するサンプルマクロ
マクロ記録を行うと自動的に作られるコードをそのまま流用した、以下のようなマクロでタイトル行・タイトル列を設定できます。
With ActiveSheet.PageSetup
.PrintTitleRows = "$1:$3"
.PrintTitleColumns = "$A:$B"
End With
End Sub
PageSetupオブジェクトの、PrintTitleRowsプロパティでタイトル行を、
PrintTitleColumnsプロパティでタイトル列を、
それぞれ設定できます。
PageSetup.PrintTitleRows・PageSetup.PrintTitleColumnsには文字列を指定する
PageSetup.PrintTitleRowsプロパティも、PageSetup.PrintTitleColumnsプロパティも、文字列を指定します。
オブジェクトを返すオブジェクト式と、文字列などの単なるデータを返すオブジェクト式の区別ができていないと、PageSetup.PrintTitleRowsプロパティ・PageSetup.PrintTitleColumnsプロパティに何を指定すればいいのか、戸惑ってしまうかもしれません。
例えばRowsプロパティを使って、印刷タイトル行を指定するなら以下のようなマクロです。
ActiveSheet.PageSetup.PrintTitleRows = _
Rows("1:3").Address
End Sub
Rowsプロパティは行全体を表すRangeオブジェクトを返しますから、例えば、
ActiveSheet.PageSetup.PrintTitleRows = _
Rows("1:3")
といったコードでは実行時エラーが発生します。
行を表す文字列を取得するために、Range.Addressプロパティを使う必要があります。
列全体を表すRangeオブジェクトを取得するColumnsプロパティを使って、印刷タイトル列を指定するなら以下のようなマクロです。
ActiveSheet.PageSetup.PrintTitleColumns = _
Columns("A:B").Address
End Sub
- Newer:For文でRangeを処理するExcelマクロ
- Older:PowerPoint VBAで上書き保存をせずに閉じる
Home » エクセルマクロ・Excel VBAの使い方 » ページ設定・PageSetup » VBAで印刷タイトルを設定する-PrintTitleRows・PrintTitleColumns