連続印刷を実行するマクロの書き方は3段階に分けて説明します。
第1段階 1枚目を印刷する
↓
↓
結論だけ知りたい!という先生は一気に第3段階まで進んで構いません。
しっかり基礎を固めていきたい。という先生はこのまま読み進めてください。
1枚目を印刷するマクロ
①[印刷一覧]のB2セルに " 1 " を入力する
② 印刷する
ワンクリックで処理①②を実行するマクロの書き方を説明します。
作成手順
- マクロ有効ブックかどうか確認する
- VBEを開く
- [Module1]をつくる
- コード作成
- ボタンに「マクロの登録」をする
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-連続印刷マクロを組む② |