[[20130729204917]] 『印刷の順番を変えるには?』(真岡) ページの最後に飛ぶ

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

 

『印刷の順番を変えるには?』(真岡)
2003

 Sheet1に印刷のマクロを作成してもらったのですが、シート2⇒シート3の順番で印刷されてしまいます。
 これをシート3⇒シート2の順番に印刷されるように変更したいのですが、Sheet2と
 Sheet3の数字を逆にしてもSheet1とSheet2が印刷されるだけです。
 どこをどう変更するのですか?
 修正をお願いするより勝手にコードを書き換えようかと思っているのですが、どうにか
 なりますでしょうか?
 よろしくお願いします。

   ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Sheet2").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Sheet3").Select
  End Sub


  Sheets(Array("Sheet3", "Sheet2")).PrintOut
 End Sub

 これで出来そうな感じです。真岡

 ↑できますか?? PrintPreviewで試すとシート2⇒シート3の順番になりますが。

 単純に、こんなのではどうでしょうか。
 Sub test()
    Dim i As Long
    For i = 3 To 1 Step -1
        Sheets("Sheet" & i).PrintPreview
    Next
 End Sub 

 (usamiyu)

 Sheet1 にボタンがあるすると、押されたときはSheet1 がアクティブですから、

 >  ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
 Sheet1 が印刷される

 >   Sheets("Sheet2").Select
 >   ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
 Sheet2 が印刷される

 >   Sheets("Sheet3").Select
 Sheet3 は選ばれただけ。印刷されない

 が元の動作だと思います。ですから、Sheet2 と Sheet3 を入れ替えても、
 Sheet1 と Sheet3 が印刷されるのだと思うのですが・・・。

 指定のシートを印刷するのは
   Sheet("Sheet1").PrintOut Copies:=1, Collate:=True
 だけで十分ですから、Sheet3とSheet2 だけをを印刷するには、

   Sheet("Sheet3").PrintOut Copies:=1, Collate:=True
   Sheet("Sheet2").PrintOut Copies:=1, Collate:=True

 のようにしてできるかと思います。
 3,2,1 の順に全部印刷するのであれば、usamiyu さんのやり方でできますね。
 (Mook)

 複数シートをSelectedSheets.PrintOutで印刷する場合には、
基本的にシートの並び方に依存するはずです。
だから、シートを印刷したい順番に並べておいて、印刷したいシートを選択して
マクロ実行、というのが近道かも。
 
念のため。
[[20030829122226]] 『ブック全体を印刷してもシートの並び順に印刷され』(あ)
 
(みやほりん)

コメント返信:

[ 一覧(最新更新順) ]


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