| 
    
     |  | いつも参考にさせていただいてます。 
 sheet1〜4以外の全てのsheetの印刷プレビューを表示するマクロです。
 
 下記のマクロで、"インデックスが有効範囲にありません"とのエラーが出ます。
 エラーは"Worksheets(ar()).Select"の部分です。
 
 sheet1〜3だったときは問題なく動いてくれていたのですが、
 一つ増やしたらエラーが出るようになりました。
 
 問題はar()の変数がEmpty値になっていることだと思うのですが、
 どう訂正すればいいのか、わからなくて困っています。
 
 何卒、お力をお貸しください。
 よろしくお願い致します。
 
 使用しているのはExcel2007です。
 
 Sub test
 
 Dim i As Integer
 Dim j As Integer
 Dim n As Integer
 Dim ar() As Variant
 n = Worksheets.Count
 If n = 4 Then
 MsgBox "印刷できるシートがありません"
 GoTo Wayout
 End If 'シートひとつしかない場合
 ReDim ar(n - 4)
 For i = 5 To n
 ar(j) = i
 j = j + 1
 Next i
 
 Worksheets(ar()).Select
 
 ActiveWindow.SelectedSheets.PrintPreview
 
 Wayout:
 End Sub
 
 |  |