[[20210208145023]] 『マクロで非表示シートの印刷ができない』(森野ふくろう) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『マクロで非表示シートの印刷ができない』(森野ふくろう)

マクロで非表示シートを表示して印刷したあと再び非表示にする動作を自動記録しましたが、これを再度実行すると今開いているシートが印刷されてしまいます。
どのように変更すればいい゛てしょうか。
よろしくお願いいたします。

Sub 白紙のチェックリストを印刷()
'
' 白紙のチェックリストを印刷 Macro
'

'

     Application.ScreenUpdating = False '画面を固定する
    Sheets("顧客別管理表").Select
    Sheets("白紙チェックリスト").Visible = True
    ActiveWindow.SelectedSheets.PrintOut From:=1, To:=3, Copies:=1, Collate _
        :=True, IgnorePrintAreas:=False
    Sheets("白紙チェックリスト").Select
    ActiveWindow.SelectedSheets.Visible = False
    Sheets("顧客別管理表").Select
    Application.ScreenUpdating = True '固定の解除
     Range("N2").Select

End Sub

< 使用 Excel:Office365、使用 OS:Windows10 >


 ActiveWindow.SelectedSheets.PrintOut
 にしてますが、そのときの状況に依存してしまいますので、
 かならず 白紙チェックリスト シートが印刷されるように、きちんと指定しましょう

 Sheets("白紙チェックリスト").PrintOut
(´・ω・`) 2021/02/08(月) 15:20

早速にありがとうございます。
うまく作動しました。本当に助かりました。
またよろしくお願いいたします。
(森野ふくろう) 2021/02/08(月) 15:47

解決済でしょうけど・・・

VBAの世界では基本的にシートやセル(オブジェクトといいます)を明示すれば、いちいち選択したりアクティブにする必要はありません。

踏まえると、↓みたいな感じでもいいんじゃないですかね。

    Sub 白紙のチェックリストを印刷()
        Application.ScreenUpdating = False
        With Sheets("白紙チェックリスト")
            .Visible = True
            .PrintOut From:=1, To:=3, Copies:=1, Collate:=True, IgnorePrintAreas:=False
            .Visible = False
        End With
        Application.ScreenUpdating = True
    End Sub

【参考】
http://officetanaka.net/excel/vba/sheet/sheet08.htm

(もこな2 ) 2021/02/08(月) 22:06


もこな2さま
ご丁寧にありがとうございます。
知識がないものだから直ぐ皆様に頼ってしまい反省しています。
今後ともよろしくお願いいたします。

(森野ふくろう) 2021/02/09(火) 11:14


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.