Excelの印刷する範囲を設定
<< エクセルVBAで用紙のヘッダー・フッターに情報を印刷する :前の記事
こちらでは、Sheetオブジェクトに含まれるPageSetupオブジェクトのPrintAreaプロパティを利用して、Excelの印刷する範囲設定する方法について解説しています。
プロパティとはオブジェクトの属性を指します。属性とは、そのオブジェクトの情報そのものです。プロパティはその値を取得したり、設定することもできます。プロパティを利用するにはオブジェクト名とプロパティ名の間に「.(ピリオド)」で結んで記述します。
オブジェクト名.プロパティ名
また、プロパティを設定する場合は以下のように「=(イコール)」を記述し設定値を代入します。
オブジェクト名.プロパティ名 = 設定値
目次
はじめに
こちらでは、PrintAreaプロパティを利用したExcelの印刷する範囲を設定をする方法について解説します。今回は、PageSetupオブジェクトのPrintAreaプロパティを利用します。
利用するプロパティについて
今回利用するプロパティは以下になります。- PrintAreaプロパティ
PrintAreaプロパティとは
PageSetupオブジェクトのPrintAreaプロパティは印刷するセル範囲をA1形式の文字列で設定します
Sheets(インデックス番号).PageSetup.PrintArea = A1形式の文字列
印刷する範囲を設定するサンプルコード
今回のVBAコードはExcelの印刷する範囲を設定するマクロになります。
Sub sample()
Sheets("Sheet1").PageSetup.PrintArea = "B2:D7"
End Sub
実行結果
「B2~D7」セル範囲が印刷の範囲として設定されます。
解説
sampleプロシージャのSubステートメントに引数は設定されていません。Sheetオブジェクトには「Sheet1」シートが設定されています。そして、「Sheet1」シートオブジェクトに含まれるPageSetupオブジェクトをを設定することで、ページ設定属性(左余白、下余白、用紙サイズなど)のプロパティを利用できます。今回は用紙サイズを設定するPrintAreaプロパティに「B2:D7」が設定されていますので、処理を実行すると「B2~D7」セル範囲が印刷の範囲として設定されます。最後はEndステートメントを利用してsampleプロシージャを終了させます。
印刷範囲を解除するサンプルコード
今回のVBAコードはExcelの印刷する範囲を設定するマクロになります。
Sub sample()
Sheets("Sheet1").PageSetup.PrintArea = False
End Sub
実行結果
設定していた印刷範囲が解除されます。
解説
設定していた印刷範囲を解除する場合は、PrintAreaプロパティに「Flase」を設定します。これにより印刷範囲が解除されます。
また、以下のように「""(空の文字列)」を設定した場合も印刷範囲が解除されますので、併せて覚えておきましょう。
Sub sample()
Sheets("Sheet1").PageSetup.PrintArea = ""
End Sub
まとめ
今回は、SheetオブジェクトのPrintAreaプロパティを利用して、Excelの印刷範囲を設定する方法について解説しました。次回は、エクセルVBAで印刷プレビューを表示する方法について解説します。
エクセルVBAの印刷設定一覧
次の記事: エクセルVBAで印刷プレビューを表示する >>
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。