3.連続印刷マクロを組む①

連続印刷を実行するマクロの書き方は3段階に分けて説明します。

 

 

第1段階 1枚目を印刷する

第2段階 1枚目から5枚目まで連続印刷する

第3段階 m枚目からn枚目まで連続印刷する

 

結論だけ知りたい!という先生は一気に第3段階まで進んで構いません。

しっかり基礎を固めていきたい。という先生はこのまま読み進めてください。  

 


1枚目を印刷するマクロ


①[印刷一覧]のB2セルに " 1 " を入力する

② 印刷する 

 

ワンクリックで処理①②を実行するマクロの書き方を説明します。

 

 


作成手順

  1. マクロ有効ブックかどうか確認する
  2. VBEを開く
  3. [Module1]をつくる
  4. コード作成
  5. ボタンに「マクロの登録」をする

 


1.マクロ有効ブックかどうか確認する


① [F12]で名前を付けて保存を開く

② ファイルの種類が「マクロ有効ブック(*.xlsm)」かどうか確認する

 

 


2.VBEを開く


① [Alt,F11]・・・VBEをひらく

② [Windows,←][Windows,→]・・・左右に並べて表示する

 

 


3.[Module1]をつくる


① [VBE]-[挿入]-[標準モジュール]をクリック

 

新たに作成された[Module1]にコードを打っていきます。

 

 


4. コード作成


① コード"sub 連続印刷1枚目"を打つ

sub 連続印刷1枚目


↓ ②[Enter]を押す

Sub 連続印刷1枚目()

End Sub

 

 

③ 2行目で[Tab]を押す

④ コード " worksheets("印刷一覧").cells(2,2)=1 " を打つ

Sub 連続印刷1枚目()
worksheets("印刷一覧").cells(2,2)=1
End Sub

 ↓ ⑤[Enter]を押す

Sub 連続印刷1枚目()
Worksheets("印刷一覧").Cells(2,2) = 1

End Sub

 

 

⑥ 3行目でコード " worksheets("印刷レイアウト").printout " を打つ

Sub 連続印刷1枚目()
Worksheets("印刷一覧").Cells(2,2) = 1
worksheets("印刷レイアウト").printout

End Sub

 ↓ ⑦[↓]を押す

Sub 連続印刷1枚目()
Worksheets("印刷一覧").Cells(2,2) = 1
Worksheets("印刷レイアウト").PrintOut

End Sub

 

第1段階のコードはこれで完成です。

 


コードの解説


Sub 連続印刷1枚目()
    Worksheets("印刷一覧").Cells(2,2) = 1
    Worksheets("印刷レイアウト").PrintOut
End Sub


1行目・4行目

Sub 連続印刷1枚目()
 ・・・
 ・・・
End Sub

 

Sub マクロ名() から書きはじめる

1行目のSubの後の文字列がマクロ名になります。

※詳しい内容が知りたい方は下記リンクを参考にしてみてください。

▲エクセルの神髄さんのサイト『第6回.とにかく書いてみよう(Sub,End Sub)』

 

End Sub で終了

Sub 連続印刷1枚目()
 ・・・
 ・・・
End Sub

 

「Sub マクロ名()」と「End Sub」の間の行に処理を表すコードを打っていきます。

 

 

2行目・3行目

      Worksheets("印刷一覧").Cells(2,2) = 1 
      Worksheets("印刷レイアウト").PrintOut

 

行頭は[Tab]キーでインデント(字下げ)

      Worksheets("印刷一覧").Cells(2,2) = 1
      Worksheets("印刷レイアウト").PrintOut

 

行頭は揃っていた方がいいです。

ある程度の原則はあるものの人によって揃え方は異なります。

自分自身が見やすくなるように整えると良いと思います。

 

Worksheets("シート名")

      Worksheets("印刷一覧").Cells(2,2) = 1
      Worksheets("印刷レイアウト").PrintOut

 

Worksheets("シート名")でシートを指定します。

2行目は[印刷一覧]での処理
3行目は[印刷レイアウト]での処理

というとらえ方になります。

 

コードの量が増えてきて処理が複雑化してくると、シートを指定し忘れによるエラーが起きやすくなります。

 

ファイル内に2つ以上シートがある場合、処理ごとにシートを指定することを習慣にしましょう。

 

 

.Cells(たて,よこ)=

      Worksheets("印刷一覧").Cells(2,2) = 1

訳:
「[印刷一覧]シートのたて2,よこ2のセルに1を代入する

 

VBAの " = " は左辺の範囲に右辺の値を代入することを表すことが多いです。

 

 

 .(ドット)

シートとセルの間には .(ドット) があります。
この .(ドット) は日本語の「の」や「を」ととらえます。

      Worksheets("印刷一覧").Cells(2,2)
       [印刷一覧]シートたて2,よこ2のセル

  

複雑な処理を扱う中で、「エラーの原因は .(ドット)を1つ書き忘れたこと」ということも出てきますので、注意しましょう。

 

 

.PrintOut

      Worksheets("印刷レイアウト").PrintOut

 訳:
「[印刷レイアウト]シート印刷する

PrintOutはプレビューを飛ばして印刷を実行する命令文です。

 

 

 

コードの解説は以上です。

最後に作成したマクロを[印刷一覧]シートから実行できるように設定していきます。 


5.ボタンに「マクロの登録」をする


①[印刷一覧]シートを開きます。

② B5セルあたりにある図形を右クリックする

③ 「マクロの登録」をクリック

④「連続印刷1枚目」を選択してOK

 

 

図形上にカーソルをおくと、指に変わります。

 

試しにクリックしてみましょう。

印刷プレビューが表示されずに[印刷レイアウト]シートの印刷が実行されます。

 


まとめ・次回


『第1段階-1枚目を印刷するは以上です。

次回は『第2段階-1枚目から5枚目まで連続印刷する』です。

第1段階で作成したエクセルのコードを書き換えていきます。

「マクロ有効ブック(*.xlsm)」になっているか確認してから保存するようにしましょう。

 


 

 

<<
2-
[印刷レイアウト]を作る
  >>
4-連続印刷マクロを組む②