ExcelVBA(マクロ)で余白、用紙サイズ、ヘッター、フッターなど印刷のページ設定をする方法/PageSetupオブジェクトの使い方

IT

基本的な印刷についてはPrintOutおよびPrintPreviewの記事で解説しましたが、もう少しつっこんだ印刷設定もまとめて行いたい場合、PageSetupオブジェクトを使い、印刷の「ページ設定」をVBAであらかじめ設定しておくことができます。

Advertisements

ページ設定とは(PageSetupオブジェクト)

pagesetup1
Excel上で操作する場合、ページレイアウトタブ「ページ設定」右下をクリックすると、
pagesetup2
ページ設定ダイアログが開きます。縦横や余白など、印刷にまつわるさまざまな設定の変更が可能です。
PageSetupオブジェクトを操作することで、このダイアログにある内容を色々変更することができます。
' vba
ActiveSheet.PageSetup
PageSetupオブジェクトの取得は、WorkSheetオブジェクト、ChartオブジェクトなどにPageSetupプロパティをくっつけます。

ページタブの設定

tagname14
ページ設定には「ページ」「余白」「ヘッダー/フッター」「シート」のよっつのタブがあります。
ページタブでは拡大率、用紙サイズなど、基本的かつよく使う設定を変更することができます。

拡大/縮小(Zoom)

' vba
ActiveSheet.PageSetup.Zoom = 50
ActiveSheet.PrintPreview
PageSetupプロパティを付けたシートなど=PageSetupオブジェクトにはページ設定を変更する色々なプロパティが用意されています。
そのひとつ、Zoomプロパティを変更することで、印刷の拡大/縮小率を指定することができます。
値は10から400までで指定します。後ろに%を付けてもOKです。
pagesetup3
PrintPreviewでプレビュー表示し、設定を確認すると倍率が変更されていることが確認できます。
pagesetup4
後述する別のプロパティと競合するので、Falseを指定して無効にすることもできます。

縦幅をページ数に合わせて印刷(FitToPagesTall)

' vba
ActiveSheet.PageSetup.Zoom = False
ActiveSheet.PageSetup. _
FitToPagesTall = 1
FitToPagesTallに任意の数値を指定すると、縦幅が指定した数値分のページに収まる形で印刷されます。
ZoomをFalseにしてる理由については後述。
pagesetup5
たとえば何もしないと複数ページにまたがるこれに、
pagesetup6
FitToPagesTall = 1を指定してやれば、縦が1ページに収まる形で自動縮小されます。
pagesetup7
FitToPagesTallを使う時は、Zoomが指定されているとそちらが優先されてしまうので、
pagesetup8
ZoomをFalseにする必要があります。
pagesetup9
FitToPagesTallでは、縦の長さがページをまたぐ場合は縮小しますが、逆に縦の長さより短い場合にぴったり収まるような拡大はされません。縮小のみ行われます。

横幅をページ数に合わせて印刷(FitToPagesWide)

' vba
ActiveSheet.PageSetup.Zoom = False
ActiveSheet.PageSetup. _
FitToPagesWide = 1
同様に、FitToPagesWideを指定すると横幅を収めるページ数を指定できます。
こちらもZoomをFalseにする必要があります。
pagesetup10
実行するとこんな感じになります。

用紙サイズの指定(PaperSize)

' vba
ActiveSheet.PageSetup. _
PaperSize = xlPaperA5
PaperSizeプロパティにXlPaperSize列挙型定数(または数値)で値を指定することで、用紙サイズを指定することができます。
pagesetup11
実行するとちゃんと用紙サイズが変更されてます。
定数はA4ならxlPaperA4のように後ろを変えるだけでOKなんですが、
pagesetup12
たとえばA3が出力できないプリンタに、
pagesetup13
xlPaperA3を指定するとエラーになります。あらかじめ使えるサイズを把握しておく必要があります。
pagesetup14
定数の代わりに数値で指定する場合、A4なら9、A3なら8、A5が11、B4が12、B5が13です。

縦横の指定(Orientation)

' vba
ActiveSheet.PageSetup. _
Orientation = xlPortrait
OrientationプロパティにXlPageOrientation列挙型定数を指定することで、用紙を縦横どちらで印刷するかを指定することができます。
pagesetup15
xlPortraitで縦に印刷、
pagesetup16
xlLandscapeで横に印刷となります。

印刷品質(PrintQuality)

' vba
ActiveSheet.PageSetup. _
PrintQuality = -3
PrintQualityに任意の値を指定することで、印刷品質を選択することができます。
これもプリンタによって色々ですが、たとえば-3を指定すると、
tagname9
使用するプリンタの印刷品質一覧のうち下から3番目の印刷品質が選択されます。
-付けないとエラーになります。なんで下からなのかは知りません。
tagname10
-4だと下から4番目です。
tagname12
一覧の総数より大きな数を指定したり、”標準印刷(高品質)”のように名前で指定するとエラーになります。
tagname13
dpiで指定できるプリンタの場合は、PrintQuality = 600のように半角数字で指定することができます。
' vba
ActiveSheet.PageSetup. _
PrintQuality = Array(300, 150)
水平/垂直ごとに品質を指定できるプリンターの場合、配列で個別に指定することもできます。
この場合水平が300dpi、垂直が150dpiとなります。

先頭ページ番号の変更(FirstPageNumber)

tagname15
通常印刷した用紙にページ番号(ノンブル)をふると1からスタートしますが、先頭ページ番号を変更することにより、
tagname16
印刷されるページ番号を変更することが可能です。今はヘッダーに出してますが、フッターに表示することも可能です。
※ページ番号を印刷に表示するには、別途ヘッダー/フッターでの操作が必要となります。
' vba
ActiveSheet.PageSetup. _
FirstPageNumber = xlAutomatic
デフォルトの先頭ページ番号は「自動」です。
自動にしたい場合は、FirstPageNumberxlAutomaticを指定します。
tagname17
数値の指定は半角数字で行います。
0にした場合、2枚目が1ページになります。
Advertisements

余白タブの設定

上余白の設定(TopMargin)

pagesetup17
PageSetupの各種プロパティを指定することで、余白タブの余白を変更することができます。
ここで表示されている余白の数値はcmです。
' vba
ActiveSheet.PageSetup. _
TopMargin = 2
上側の余白を変更または取得するには、TopMarginプロパティを指定しますが、
pagesetup18
TopMarginで半角数字を指定すると、ポイントという単位で指定していることになります。
詳しい説明は割愛しますが、1ポイント=0.035cmとなり、0.1cmとして設定されています。
' vba
ActiveSheet.PageSetup. _
TopMargin = Application.CentimetersToPoints(2)
cmで値を指定したいので、値をApplication.CentimetersToPoints(2)のように変更します。
CentimetersToPointsはcmをポイント単位に変換するメソッドで、こうすることによって値に「2cm相当のポイント」を指定していることになります。
pagesetup19
上のコードを実行すると、指定した値が入力されていることが確認できます。

下余白の設定(BottomMargin)

' vba
ActiveSheet.PageSetup. _
BottomMargin = Application.CentimetersToPoints(2)
TopMarginと同じ要領で、下の余白も設定ないしは取得することができます。
使用するプロパティはBottomMarginです。
pagesetup20
実行結果です。

左右の余白の設定(LeftMargin、RightMargin)

' vba
ActiveSheet.PageSetup. _
LeftMargin = Application.CentimetersToPoints(2)
ActiveSheet.PageSetup. _
RightMargin = Application.CentimetersToPoints(2)
LeftMarginで左、RightMarginで右の余白を設定できます。
あとはTop、Bottomと同じです。

ヘッダー・フッターの余白の設定(HeaderMargin、FooterMargin)

' vba
ActiveSheet.PageSetup. _
HeaderMargin = Application.CentimetersToPoints(2)
ActiveSheet.PageSetup. _
FooterMargin = Application.CentimetersToPoints(2)
紙の端からHeaderMarginでヘッダー、FooterMarginでフッターまでの余白を設定できます。あとは他のMargin同様です。
pagesetup21
実行結果です。

水平方向中央に印刷(CenterHorizontally)

' vba
ActiveSheet.PageSetup. _
CenterHorizontally = True
印刷内容を水平方向中央に配置したい場合は、CenterHorizontallyプロパティにTrueを指定します。
Falseで無効にできます。
pagesetup22
実行すると、印刷内容が中央に寄っていることが確認できます。

垂直方向中央に印刷(CenterVertically)

' vba
ActiveSheet.PageSetup. _
CenterVertically = True
垂直方向中央に配置したい場合は、CenterVerticallyプロパティにTrueを指定します。
Falseで無効にできます。
pagesetup23
実行結果です。
pagesetup24
CenterHorizontallyとCenterVerticallyがどちらもTrueの場合、印刷内容は用紙中央に配置されます。
Advertisements

ヘッダー/フッタータブの設定

左のヘッダー(LeftHeader)

pagesetup25
続いてヘッダー/フッタータブの設定となります。
' vba
ActiveSheet.PageSetup. _
LeftHeader = "&D"
ヘッダー/フッターにはよく使うものが色々コードで用意されていて、たとえばLeftHeaderプロパティの値に“&D”を指定してやると……。
pagesetup26
左上のヘッダー今日の日付が表示されます。””で囲う必要がある点に注意してください。
pagesetup27
“&D &T”とすると、今日の日付 今の時間が表示されます。
pagesetup28
直接文字を入力することもできます。&の後ろに所定の文字を付けた場合だけ変換されます。
あまり融通はきかず、たとえば&D+1とかを指定しても、明日の日付ではなく(今日の日付)+1という形で表示されます。

右のヘッダー(RightHeader)

' vba
ActiveSheet.PageSetup. _
RightHeader = "&P/&N"
RightHeaderには、“&P/&N”を指定してみます。
&P現在のページ数&N全体のページ数を意味します。
pagesetup31
実行結果です。

中央のヘッダー(CenterHeader)

' vba
ActiveSheet.PageSetup. _
CenterHeader = "&F"
次にCenterHeaderプロパティで中央上部のヘッダーを設定してみます。
“&F”ファイル名を意味します。他にも“&A”シート名“&Z”ファイルパスを表示させることもできます。
pagesetup30
実行結果です。

左、中央、右フッター(LeftFooter、CenterFooter、RightFooter)

' vba
ActiveSheet.PageSetup. _
LeftFooter = "test"
ActiveSheet.PageSetup. _
CenterFooter = "test"
ActiveSheet.PageSetup. _
RightFooter = "test"
以下同様。LeftFooterで左、CenterFooterで中央、RightFooterで右のフッターの表示設定が行えます。

ヘッダー、フッターに画像を表示(Graphicオブジェクト.Filename)

pagesetup32
ヘッダー、フッターに画像を挿入してみます。
今回はデスクトップに置いた画像を使用します。
pagesetup33
画像のパスをプロパティなどから拾ってきます。
' vba
ActiveSheet.PageSetup. _
LeftFooterPicture.Filename = _
"C:\Users\User\Desktop\sg.jpg"
ActiveSheet.PageSetup. _
LeftFooter = "&G"
左のフッターの場合、まずLeftFooterPicture.Filenameプロパティに画像のパス名を指定し、その後でLeftFooterプロパティ“&G”を指定します。&G=画像です。
右ヘッダーならRightHeaderPicture.Filename→RightHeaderです。
たとえばLeftHeaderPicture.Filenameに画像のパスを指定して、LeftFooterに”&G”を指定しても画像は表示されません。対になっているか注意してください。

※厳密には、LeftFooterPictureを付けた時点でGraphicオブジェクトなるものを取得しています。FilenameはGraphicオブジェクトのプロパティです。

pagesetup34
うまくいくと、こんな感じでヘッダー/フッターに画像が挿入されます。

画像の高さ、幅を変更(Height、Width)

' vba
With ActiveSheet.PageSetup.LeftFooterPicture
.Filename = "C:\Users\User\Desktop\sg.jpg"
.Height = 1
.Width = 150
End With
ActiveSheet.PageSetup. _
LeftFooter = "&G"
取得した画像(Graphicオブジェクト)に対して、Heightで高さ、Widthで幅を指定することができます。
縮尺は固定で、幅か高さの大きいほうの数字に合わせたサイズに拡大します(たとえば高さが1で幅が150の場合、高さも幅に合わせて大きくなります)。
pagesetup36
つまりこうなります。
数字の単位はポイントなので、cmでしたい場合はApplication.CentimetersToPoints(数字)のように指定します。

ヘッダー/フッターに「&」を入力する方法

' vba
ActiveSheet.PageSetup. _
CenterFooter = "&&"
以下同様。LeftFooterで左、CenterFooterで中央、コードの前には&を付けるので一見「&」を入力することはできなさそうですが、“&&”とすることで「&」を入力することも可能です。
pagesetup35
実行結果です。
たとえば現在のページ&全体のページ数であれば、“&P&&&N”のように指定します。

ヘッダー/フッターのフォントの変更

' vba
ActiveSheet.PageSetup. _
RightFooter = "&""MS 明朝""てすとtest"
フォントを変更する場合は、最初に”&”その次に”フォント名”を入力、その後に入力内容を記述します。
' vba
' これはダメ
ActiveSheet.PageSetup. _
RightFooter = "てすとtest""&""MS 明朝"
順不同ではありません。たとえば内容、&、フォント名のようにしても、フォントは変わりません。
' vba
ActiveSheet.PageSetup. _
RightFooter = "&""HGPゴシックE""てすとtest"
また、フォント名は正確に記述する必要があります。たとえばMS 明朝のアルファベットは全角でないと反映されません(間のスペースは半角/全角どちらでもいいようです)。ゴシックEであれば、カタカナ部分は半角で書く必要があります。
pagesetup37
比較用にCenterFooterにも同じ文章を入力しました。
うまくいくとこんな感じで、フォントが変更されます。

ヘッダー/フッターの文字サイズの変更

' vba
ActiveSheet.PageSetup. _
RightFooter = "&20てすとtest"
文字サイズは、サイズを変更したい内容の前に&数字を入力して指定します。
単位はポイントです。試した感じCentimetersToPointsは使えないようなので、もし意地でもcmで考えたい場合、1ポイント=約0.0353cm(1/72インチ)なので、1cm=約29ポイントと考えて自力で調節します。
pagesetup38
実行結果です。
pagesetup39
フォントと併用も可能です。
pagesetup40
数字を入力したい場合は、“&20 100”のようにして間を半角スペースで空ければ可能です。

ヘッダー/フッターの文字色変更

' vba
ActiveSheet.PageSetup. _
RightFooter = "&K34ebc6てすとtest"
文字色もサイズ同様、入力内容の前にくっつけます。
&Kの後に16進数で指定します。
pagesetup41
実行結果です。
pagesetup42
組み合わせも可能です。たとえば文字サイズ20ポイントの色つけたページ番号であれば、“&20&K34ebc6&P”となります。

ヘッダー/フッターを右詰め/左詰め/中央に変更

' vba
ActiveSheet.PageSetup. _
RightFooter = "&C右フッター"
RightFooterを中央フッターに表示させたり、Centerheaderを左ヘッダーに表示させたりすることができます。&Lで左詰め、&Cで中央、&Rで右詰めとなります。
pagesetup43
これがRightFooter = “右フッター”の状態で、
pagesetup44
これがRightFooter = “&C右フッター”の状態です。RightFooterに指定した内容が中央フッターに表示され、元々あるCenterFooterといっしょくたに表示されています。
pagesetup45
設定で確認すると「中央フッターに設定した」状態になってます。
なお、上画像から再度CenterFooter = “てすとtest”、RightFooter = “右フッター”を指定しても中央に右フッターが残り続けます。挙動的に怪しげなので、あまり使うことを推奨しません。

斜体/太字/取り消し線/上付き文字/下付き文字

' vba
ActiveSheet.PageSetup. _
LeftFooter = "&Iてすとtest"
ActiveSheet.PageSetup. _
CenterFooter = "&Sてすとtest"
ActiveSheet.PageSetup. _
RightFooter = "&Bてすとtest"
ActiveSheet.PrintPreview
その他まとめて。&I斜体&B太字&S取り消し線&U下線&E二重下線&X上付き文字&Y下付き文字が指定可能です。
pagesetup46
左から斜体、取り消し線、太字、
pagesetup47
指定なし、上付き文字、下付き文字です。

ヘッダー/フッターで使用可能なコードまとめ

VBAコード 内容
&D 今日の日付
&T 現在時刻
&P ページ番号
&N 総ページ数
&F ファイル名
&A シート名(見出し)
&Z ファイルパス
&G Graphicオブジェクトに設定した画像
&& &
文字コード 内容
“&””フォント名” フォントの変更
&数字 フォントサイズ
&Kカラーコード(16進数) 色変更
&L 左詰め
&C 中央詰め
&R 右詰め
&I 斜体
&B 太字
&S 取り消し線
&U 下線
&E 二重下線
&X 上付き文字
&Y 下付き文字

最初のページだけ別のヘッダー/フッター(DifferentFirstPageHeaderFooter)

' vba
ActiveSheet.PageSetup. _
DifferentFirstPageHeaderFooter = True
最初のページだけちがうヘッダー/フッターを指定したい場合は、まずPageSetupオブジェクトのDifferentFirstPageHeaderFooterプロパティをTrueにします。
' vba
ActiveSheet.PageSetup. _
DifferentFirstPageHeaderFooter = True
ActiveSheet.PageSetup. _
FirstPage.CenterFooter.Text = "最初のページ"
最初のページに指定したいヘッダー/フッターにはPageSetupのあとにFirstPageを付け、その後に挿入箇所の指定、さらにTextを付けてあげます。
' vba
With ActiveSheet.PageSetup
    .DifferentFirstPageHeaderFooter = True
    .FirstPage.CenterFooter.Text = "最初のページ"
    .CenterFooter = "2ページ目以降"
    .RightFooter = "てすとtest"
End With
2ページ目以降も指定してみます。
1ページ目は中央フッターのみ、2ページ目は中央と右のフッターを指定。これで実行すると、
pagesetup48
1ページ目では指定したフッターのみ表示されます。
特に指定してない右フッターも表示されません。
pagesetup49
2ページ目以降では、通常通り指定したヘッダー/フッターが表示されます。

偶数/奇数ページで別のヘッダー/フッター(OddAndEvenPagesHeaderFooter)

' vba
With ActiveSheet.PageSetup
    .OddAndEvenPagesHeaderFooter = True
    .EvenPage.CenterFooter.Text = "偶数ページ"
    .EvenPage.RightFooter.Text = "&P/&N"
    .CenterFooter = "奇数ページ"
    .RightFooter = "&P/&N"
End With
偶数・奇数でヘッダー/フッターの内容を切り替えたい場合は、まずPageSetupオブジェクトのOddAndEvenPagesHeaderFooterプロパティをTrueにし、Evenpage.指定したいヘッダー/フッター.textで偶数ページの内容、通常のヘッダー/フッター指定で奇数ページの内容を指定します。
pagesetup50
実行結果です。ページ表示は偶数/奇数どちらも表示したいので、両方に指定しています。
pagesetup51
偶数ページでは表示内容が変わります。

シートの拡大率に合わせてヘッダー/フッターも拡大/縮小(ScaleWithDocHeaderFooter)

' vba
ActiveSheet.PageSetup. _
ScaleWithDocHeaderFooter = True
ドキュメントの拡大率に合わせてヘッダー/フッターのサイズも変えたい場合は、ScaleWithDocHeaderFooterプロパティをTrueにします。
pagesetup52
Excel画面上でいうこれです。
pagesetup53
たとえば拡大率200%で印刷プレビューを表示した時、
pagesetup54
Trueであればヘッダー/フッターの文字も拡大されますが、
pagesetup55
Falseであれば100%換算のサイズで表示されます。

シートの余白に合わせてヘッダー/フッターの左右の位置も調整(AlignMarginsHeaderFooter)

' vba
ActiveSheet.PageSetup. _
AlignMarginsHeaderFooter = True
AlignMarginsHeaderFooterプロパティをTrueにすると、シートの余白に合わせてヘッダー/フッターの左右の位置も調整されます。
pagesetup60
Excel画面上でいうこれです。
pagesetup56
たとえばシートの余白の左右を思い切り広げた状態で、
pagesetup58
AlignMarginsHeaderFooterをTrueにしてプレビューすると、ヘッダー/フッターの左右位置が余白に合わせられていることがわかります。
※上下位置は連動しません。
pagesetup59
Falseにすると、連動が解除されることが確認できます。
Advertisements

シートタブの設定

印刷範囲の指定(PrintArea)

pagesetup61
最後にシートタブの設定をしていきたいと思います。
印刷範囲の指定やタイトル行の指定などは資料作成で非常によく使う機能なので、VBAの学習価値も高くなります。
pagesetup62
まずは印刷範囲を指定してみたいと思います。
今回は表のうち、左側のA1からA7だけを印刷します。
' vba
ActiveSheet.PageSetup. _
PrintArea = "A1:A7"
印刷範囲を指定するには、PrintAreaプロパティに範囲を入力すればOKです。
pagesetup63
実行結果です。

複数の印刷範囲を指定

pagesetup64
印刷範囲は,で区切ることで複数指定することも可能ですが、別々のページに印刷されます。
たとえばPrintAreaに“A1:A7,C1:C7”を指定した場合、
pagesetup65
1ページにA1~A7、
pagesetup66
2ページにC1~C7の内容が印刷されます。

タイトル行を指定(PrintTitleRows)

pagesetup67
登場箇所より後ろの内容について、ページごとに毎回トップに印刷される行をタイトル行といいます。
今回は一行目だけをタイトル行に指定してみます。
' vba
ActiveSheet.PageSetup. _
PrintTitleRows = "$1:$1"
タイトル行の指定は、PrintTitleRowsプロパティ$(絶対参照)を付けた数字を範囲で指定します。
$1だけとか、1:1とかだと正しく動きません。
複数行を指定の場合は”$1:$2″のようにします。
pagesetup68
実行するとページごとに、
pagesetup69
同じ行が最初の行として挿入されます。

タイトル列を指定(PrintTitleColumns)

' vba
ActiveSheet.PageSetup. _
PrintTitleColumns = "$A:$A"
列の場合は、PrintTitleColumnsプロパティに$を付けたアルファベットを範囲で指定します。
数字だと動きません。
pagesetup70
実行すると内容が右にはみ出した分毎回指定した列が付きます。
タイトル行と両方指定することも可能です。

セルの枠線も印刷(PrintGridlines)

' vba
ActiveSheet.PageSetup. _
PrintGridlines = True
列の場合は、PrintGridlinesプロパティをTrueにすると、特に書式で枠線を指定していないセルでも、何か入力してある範囲に枠線を表示できます。
pagesetup71
実行するとこういうビジュアルになります。
枠線を表示する範囲は一番下・一番右のデータを入力したセルまでをカバーする四角形になります。

白黒印刷(BlackAndWhite)

' vba
ActiveSheet.PageSetup. _
BlackAndWhite = True
BlackAndWhiteプロパティをTrueにすることで、モノクロ印刷をすることができます。
pagesetup72
逆にカラーにしたい場合は、BlackAndWhiteをFalseにします。

簡易印刷(Draft)

' vba
ActiveSheet.PageSetup. _
Draft = True
簡易印刷をONにするにはDraftプロパティをTrueにします。
簡易印刷では背景色やグラフは無視され、セルに入力されている内容だけが印刷されます。

行列番号印刷(PrintHeadings)

' vba
ActiveSheet.PageSetup. _
PrintHeadings = True
PrintHeadingsプロパティをTrueにすることで、行列番号を印刷することができます。
pagesetup73
実行するとこんな感じになります。
pagesetup74
行列番号と簡易印刷を同時に指定すると、なぜか列番号だけ印刷されます(バージョンによって挙動ちがうかも)。また枠線と同時指定すると枠線が表示されなかったりもします。
このへんの設定を同時に指定する場合、食い合わせは一回試してからコード書くことを薦めます。

コメント印刷(PrintComments)

' vba
ActiveSheet.PageSetup. _
PrintComments = xlPrintNoComments
コメントを印刷したい場合、PrintCommentsプロパティxlPrintLocation列挙型定数を割り振ります。
デフォルトはxlPrintNoCommentsで、プリントしない設定となります。
pagesetup76
PrintCommentsにxlPrintSheetEndを指定すると、一番最後のシートにコメントだけまとめて印刷されます。
pagesetup77
xlPrintInPlaceを指定した場合、表示設定になっているコメントだけが画面通りに印刷されます。

エラー印刷(PrintErrors)

pagesetup78
エラーを印刷するかどうかは、PrintErrorsプロパティで設定できます。
' vba
ActiveSheet.PageSetup. _
PrintErrors = xlPrintErrorsDisplayed
PrintComments同様定数を指定します。こちらで使うのはxlPrintErrors列挙型定数となります。
デフォルトではxlPrintErrorsDisplayedとなっていますが、これは画面通りにエラーを印刷する設定です。
pagesetup79
xlPrintErrorsBlankにするとエラーのあるセルは空白となり、
pagesetup80
xlPrintErrorsDashにすると、エラーのあるセルは-(ダッシュ)表示になります(律儀に-にも下線が引かれています)。
pagesetup81
xlPrintErrorsNAを指定することで、エラーをすべて#N/A表記にすることもできます。

印刷方向(Order)

' vba
ActiveSheet.PageSetup. _
Order = xlDownThenOver
最後にOrderプロパティで印刷の方向を指定します。
値がxlDownThenOverの場合、下方向のページを全て印刷してから、右にはみ出している分のページを印刷します。
左から右に進んでいく印刷方法です。
' vba
ActiveSheet.PageSetup. _
Order = xlOverThenDown
xlOverThenDownの場合、右方向のページを全て印刷してから、下にあるページを印刷します。
上から下に進んでいく印刷方法です。
ちなみに、このふたつの値をまとめてxlOrder列挙型定数といいます。
Excel(エクセル):印刷、ヘッダーとフッター
Excelにおける印刷操作関連まとめです。 印刷方法 印刷を実行するには、印刷したいシートを選択した状態で①ファイルをクリックし、 さらに印刷をクリックするか、 印刷 Ctrl+P ②ショートカットを押します...
関数・演算子・メソッド・プロパティ名から探すExcel/VBA(マクロ)使い方・組み合わせ方まとめ
こちらはExcelやメソッドの諸機能を、機能の名称から探せるまとめ記事です。

コメント