[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『複数のシートを順番指定して印刷する方法』(ラク)
複数のシートを順番指定して印刷する方法を教えてください。
例 シート 1、2、3、4、5、6、7、8、9、10があるとします。
1、6、7、8、9、10、2、6、7、10、3、5、6、7、8、4、9、10の様な順番で印刷したいのです。
どの様なプログラムになるのでしょうか?
< 使用 Excel:Excel2013、使用 OS:Windows7 >
(隠居じーさん) 2018/11/17(土) 18:16
シート 1、2、3、4、5、6、7、8、9、10があるとします。
これはシート名だろうか?シートインデックスだろうか?
シートインデックスだったら、ループで
Worksheets(i).Printout
のようにするだけです。
iは変数です。
iに入れるものは配列に格納しておけばいいと思います。
(とおりすがり) 2018/11/17(土) 18:18
こんばんは
Sub 印刷順番()
x = Array("1", "6", "7", "8", "9", "10", "2", "6", "7", "10", "3", "5", "6", "7", "8", "4", "9", "10") For Each sh In x MsgBox sh Worksheets(sh).PrintOut Next End Sub (地区防災士) 2018/11/18(日) 01:48
Sub てすと() Dim tmp As Variant Dim SH As Worksheet
'変数をVariant型にする場合 'インデックス番号の場合 Debug.Print vbCrLf & "インデックスの場合" For Each tmp In Array(3, 2, 1, 6, 5, 4) Debug.Print Worksheets(tmp).Name Next
'シート名の場合-1 Debug.Print vbCrLf & "シート名の場合1" For Each tmp In Array("3", "2", "1", "6", "5", "4") Debug.Print Worksheets(tmp).Name Next
'シート名の場合-2 Debug.Print vbCrLf & "シート名の場合2" For Each tmp In Array(3, 2, 1, 6, 5, 4) Debug.Print Worksheets(CStr(tmp)).Name Next
'変数をオブジェクト型(Worksheet型)にする場合 'インデックス番号の場合 Debug.Print vbCrLf & "インデックスの場合" For Each SH In Worksheets(Array(3, 2, 1, 6, 5, 4)) Debug.Print SH.Name Next
'シート名の場合 Debug.Print vbCrLf & "シート名の場合" For Each SH In Worksheets(Array("3", "2", "1", "6", "5", "4")) Debug.Print SH.Name Next
End Sub
プリントアウトする命令はわかりますよね?
わからなければ「マクロの記録」で調べることができますよ。
(このトピックを読めば答えは書いてありますが。。)
(もこな2) 2018/11/18(日) 14:06
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.