Excel Tips by pPoy

トップへ←Top    VBAへVBA  VBA基礎へVBA 基礎  一般へ一般  

Macro 全ワークシートの 指定セルの値を変更しながら3部ずつ印刷する方法
(Excel2002,Excel2003)
ちょっとタイトルでは分かりにくいですが。
Book に存在する全てのワークシートを、3部ずつ印刷するマクロです。
その際、指定されたセルの値を変更しながら印刷します。
以下では例として、A1 セルの値を 「(控)」、「(写)」、「(正) 」 と変更しながら印刷します。
Book1

←全シートを印刷します。
以下のコードを標準モジュールに貼り付けて、このマクロを実行してください。
Sub print3()
'全ワークシートを 3部印刷するマクロ (控・写・正) 2010/02/06 pPoy
'各シートの 指定セルの値を変更しながら印刷する
'※ 各シートの 指定セルは書式設定済みのこと
'※ 各シートは 印刷書式設定済みのこと
    Dim w As Worksheet
    Dim stRng As String
    Dim stText(3) As String
    Dim i As Integer
    
    '文字列を表示するセル番地
    stRng = "A1"
    
    'セルに順番に表示する文字列
    stText(1) = "(控)"
    stText(2) = "(写)"
    stText(3) = "(正)"
    
    '印刷開始
    For Each w In Worksheets
        '全シートをループ
        For i = 1 To UBound(stText)
            With w
                '指定セルに文字列セット
                .Range(stRng).Value = stText(i)
                .PrintOut                   '印刷
            End With
        Next i
    Next w
    
    MsgBox "印刷終了〜", vbOKOnly
End Sub
≪注意≫
  • Excel の全てのワークシートには、予め印刷書式を設定しておく必要があります。

  • 変更の対象となるセルにも、予め書式の設定が必要です。

  • 印刷書式のページ番号は使用しないでください。
    ページ番号を出力したい場合は、マクロを修正する必要があります。


この頁のTOPへTop
【念の為の注意書きです。】
このページ(下位ページ含む)の全ての物の無断転載を禁止いたします。
又、当ページ(下位ページ含む)に記載されていることは、全て自己の責任において実行してください。

Copyright(C) pPoy 2010