Excelマクロの記録で覚えるVBA | 第24回.印刷 | Excelマクロの自動記録を使って、エクセルVBAの初心者向け入門解説



最終更新日:2013-02-18

第24回.印刷


印刷やります。


本当は、ペーパーレスが良いのですが、なかなかそうもいきません。



では、マクロの記録から、2010での記録です。


1.マクロの記録

2.印刷

3.記録終了


作成れたマクロは・・・


Sub Macro1()
'
' Macro1 Macro
'

'
  ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
    IgnorePrintAreas:=False
End Sub


ActiveWindow.SelectedSheets.PrintOut

これで印刷します。

ActiveWorkbook.ActiveSheet.PrintOut

でも同じですね。


Copies:=1

印刷部数です、省略すると1になります。


Collate:=True

2 部以上印刷するときに部単位で印刷する場合はTrue


IgnorePrintAreas:=False

印刷領域を無視してオブジェクト全体を印刷する場合は True

2003にはありません。


2007で記録すると


Sub Macro1()
'
' Macro1 Macro
'

'
  ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,2,,,TRUE,,FALSE)"
End Sub



こんなん出ました。

無視しましょう。

MSさんも、Excel4Macroって・・・困ったもんです。


2007の人は、最初のマクロを使ってください。


とにかく、今開いているシートを印刷するだけなら、


Sub Macro1()
  ActiveSheet.PrintOut

End Sub


これだけで印刷できます。



では、印刷プレビューです。


2010では、ボタンが標準では無いのですけどね。


1.マクロの記録

2.印刷プレビュー

3.記録終了


作成れたマクロは・・・


Sub Macro2()
'
' Macro2 Macro
'

'
  ActiveWindow.SelectedSheets.PrintPreview
End Sub


まあ、

PrintOut

PrintPreview

になっただけです。



では、全部のシートを印刷する場合は、どうでしょう。


Sheet1、Sheet2、Sheet3、の3シートがあるとします。


では、マクロの記録です。


1.マクロの記録

2.全てのシートを選択

3.印刷

4.記録終了


作成れたマクロは・・・


Sub Macro1()
'
' Macro1 Macro
'

'
  Sheets(Array("Sheet1", "Sheet2", "Sheet3")).Select
  Sheets("Sheet1").Activate
  ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
    IgnorePrintAreas:=False
End Sub


Sheets(Array("Sheet1", "Sheet2", "Sheet3")).Select
Arrayは配列です。

この説明は省略しますね、とりあえず、このまま覚えて下さい。


Sheets("Sheet1").Activate
最初のシートをアクティブにしています。

あまり意味がありません。


まあ、これで、3シートは印刷できますが、

シートが増えるたびに変更する必要があります。

それでは不便です。



常に全部のシートを印刷するには、どうするか、以下になります。


方法1.ブックを印刷する

Sub Macro2()
  ActiveWorkbook.PrintOut

End Sub


この場合は、印刷キューは1つになります。


全シートを選択して印刷した場合と同じです。


2.全てのシートを1つずつ印刷する。

Sub Macro3()
  Dim i
  For i = 1 To ActiveWorkbook..Sheets.Count
    Sheets(i).PrintOut
  Next
End Sub

または、

Sub Macro4()
  Dim mySheet
  For Each mySheet In ActiveWorkbook.Sheets
    mySheet.PrintOut
  Next
End Sub

どちらも同じです。


1.2.どちらでも良いです。


印刷時に何か処理を加えたい場合は、2.になります。






同じテーマ「Excelマクロの記録で覚えるVBA」の記事

第25回.開く・保存・閉じる
第26回.最終回
マクロの記録で覚えるVBA
第1回.マクロを記録して実行
第2回.セルに文字を入れる
第3回.複数セルに文字を入れる
第4回.連続数値を入れる

新着記事 ・・・新着記事一覧を見る

SUMIFの間違いによるパフォーマンスの低下について|エクセル関数超技(6月17日)
条件式のいろいろな書き方:TrueとFalseの判定とは|ExcelマクロVBA技術解説(6月15日)
空白セルを正しく判定する方法2|ExcelマクロVBA技術解説(5月6日)
フルパスをディレクトリ、ファイル名、拡張子に分ける|ExcelマクロVBA技術解説(4月15日)
テキストボックスの各種イベント|Excelユーザーフォーム入門(4月9日)
フォルダ(サブフォルダも全て)削除する、Optionでファイルのみ削除|ExcelマクロVBAサンプル集(4月4日)
最後の空白(や指定文字)以降の文字を取り出す|エクセル関数超技(3月26日)
先頭の数値、最後の数値を取り出す|エクセル関数超技(3月26日)
Excelファイルを開かずにシート名をチェック|ExcelマクロVBAサンプル集(3月23日)
数式の参照しているセルを取得する|ExcelマクロVBAサンプル集(3月18日)

アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|ExcelマクロVBA入門
2.RangeとCellsの使い方|ExcelマクロVBA入門
3.徹底解説(VLOOKUP,MATCH,INDEX,OFFSET)|エクセル関数超技
4.Range以外の指定方法(Cells,Rows,Columns)|ExcelマクロVBA入門
5.変数とデータ型(Dim)|ExcelマクロVBA入門
6.セルのコピー&値の貼り付け(PasteSpecial)|ExcelマクロVBA入門
7.セルの参照範囲を可変にする(OFFSET,COUNTA,MATCH)|エクセル関数超技
8.ひらがな⇔カタカナの変換|エクセル基本操作
9.定数と型宣言文字(Const)|ExcelマクロVBA入門
10.CSVの読み込み方法|ExcelマクロVBAサンプル集




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
なお、掲載のVBAコードは自己責任で使ってください。万一データ破損等の損害が発生しても責任は負いません。

↑ PAGE TOP