【Excel VBA】ボタンをクリックして印刷、連番を挿入する

スポンサーリンク

ボタンをクリックして印刷、連番を挿入する

Excelで作成した表や資料を印刷するときに、
ホーム > 印刷をクリックしていったり、
またはクイックアクセスツールバーに設定したショートカットボタンから印刷を実行すると思います。

しかし既に書式フォーマットが決まっていて、
中身を少しだけ変更して、その都度印刷を実行するときがあります。
例えば、印刷するもの毎に連番を挿入するようなときです。

連番を挿入して、何回も印刷を実行するという反復作業は
単純作業ながらも面倒に思ったり、時間がもったいないと思うことがあります。

そこで自動的に連番を挿入して印刷するVBAマクロを作成しました。


順を追って説明したいので、
まずは、ダイアログボックスで指定した枚数を印刷するVBAマクロをご紹介します。

サンプルコード1

Sub NumberPrint()
    Dim idx As Integer
    Dim frmPage, toPage
    
    toPage = Application.InputBox("枚数を指定してください", Type:=1)

    frmPage = 1

    If toPage >= frmPage Then
        For idx = frmPage To toPage           
           ActiveSheet.PrintOut
        Next idx            
            
    Else
        MsgBox "ページ数の指定が不適切です。印刷は行いません"
    End If

End Sub

サンプルコード1解説

ActiveSheet.PrintOut」で現在のページを印刷します。

また、「Application.InputBox()」で印刷枚数を指定できるように
入力ダイアログボックスを表示するようにしています。

そして、For文を使ってその指定した印刷枚数分、印刷処理を繰り返し実行させています。

他にも、「Application.InputBox()」の入力値(指定印刷枚数)に
上限値のチェックを付加してもいいかもしれません。

例えば、If文であらかじめ印刷枚数の上限値を設定しておいて、
入力値がその値を超えていないか判断し、大量印刷を防止するといった具合です。

印刷するページの中に連番を挿入したいという要望がある場合もVBAマクロで対応できます。
次のサンプルコードは、指定したセルに連番を挿入します。

サンプルコード2

Sub NumberPrint()
    Dim idx As Integer
    Dim frmPage, toPage
    
    frmPage = Application.InputBox("連番を挿入して印刷します" & Chr(13) _
              & "開始番号を入力してください", Type:=1)
    toPage = Application.InputBox("終了番号を入力してください", Type:=1)

    If frmPage > 0 And toPage >= frmPage Then

        For idx = frmPage To toPage
           
           Range("A1").Value = toPage
           ActiveSheet.PrintOut

        Next idx            
            
    Else
        MsgBox "開始番号、終了番号が不適切です。印刷は行いません"
    End If

End Sub

サンプルコード2解説

上記のサンプルコード2では、VBAマクロ実行後に「Application.InputBox」で
開始番号と終了番号を入力ダイアログボックスで指定しています。

開始番号から1ずつ順次カウントアップしながら終了番号まで印刷します。

その番号をセルA1に入力することで、印刷物内に連番を挿入します。
具体的には「ActiveSheet.PrintOut」の前の「Range(“A1”).Value = toPage」の部分です。
「Range()」の部分で入力するセルを指定していますので、別のセルにすることも可能です。

また、開始番号が終了番号よりも大きな数字にならないようにIf文に判定条件を加えています。

まとめ

いかがでしたでしょうか?
今回はVBAマクロを用いて、連番を挿入して印刷する方法をご紹介しました。

ぜひ今回ご紹介したVBAマクロを参考に作業の効率化を目指してみてください。


今後もExcelやVBAについてお役立ち情報などご紹介していきたいと思います!!

以上、「【Excel VBA】ボタンをクリックして印刷、連番を挿入する」でした。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする