• ベストアンサー

エクセルのマクロ(Arrayの使い方)について困っています

複数のシートを印刷する場合、現状は以下でおこなっているが  For S = 1 To Range("N5") SheetName$ = Range("N5").Offset(S, 0) Worksheets(SheetName$).PrintOut Next これを印刷コマンドを1回で複数枚のシートを指定して実行したい:その理由はプリンターの機能で1枚のシートに2枚分を縮小印刷するなど である。  Sheets(Array("Sheet1", "Sheet2", "")).Select SelectedSheets.PrintOut みたいにしたいが、シート名を変数として指定、枚数も変数扱いで実行させるための方法がわからない。 Arrayの()内を変数にして""(ダブルクォーテーションマーク)で括った文字列をカンマ区切りして1つの変数とするにはどのようにすればマクロが成立するのか誰か教えてください

質問者が選んだベストアンサー

  • ベストアンサー
  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.1

こんにちは。 試してないけど、、、 For S = 1 To Range("N5")  SheetName$ = Range("N5").Offset(S, 0)  Worksheets(SheetName$).Select False Next SelectedSheets.PrintOut

kazu828
質問者

お礼

早速の回答、有難うございました。 Select Falseとは知りませんでした。 確かに必要なシートを全て選んだ後の印刷命令で出来るんですよね。 また何かあったらお願いします。 最後のSelectedSheetsには頭にWindows(**).を入れないとエラーになってしまった。

関連するQ&A

専門家に質問してみよう