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

スポンサーリンク

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

Excelでつくったものを印刷するときに、
ホーム > 印刷、またはクイックツールバーに設定したショートカットボタンから
印刷を実施すると思います。

しかし既にフォーマットが決まっていたりするとその作業も面倒に思うことがあります。

今回、ご紹介する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

解説

「ActiveSheet.PrintOut」で現在のページを印刷します。
あとはFor文を使って繰り返しの作業を行わせています。

他にもダイアログボックスで指定した枚数に
上限値のチェックを付加してもいいかもしれません。

また印刷するページの中に連番を挿入したいという要望もあるかもしれません。
次のサンプルコードは、指定したセルに連番を挿入します。

サンプルコード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

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

開始番号から1ずつ順次カウントアップしながら終了番号まで印刷します。
その番号をセルA1に入力することで、印刷物内に連番を挿入します。
具体的には「ActiveSheet.PrintOut」の前です。

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

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

スポンサーリンク

シェアする

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

フォローする