Excel上F列の最終行数によって、印刷するページを変更して自動印刷するVBAを作成しようと思っております。
実行をしてみた所、以下最終行を取得する所で400エラー(※)となります。
考えられる原因教えて頂けますでしょうか。
ポップアップウィンドウで400のみ表示されました。
調べてみた所、「VBA エラー 400 アプリケーション定義または
オブジェクト定義のエラーです。」となっておりました。
MaxRow = wb.Worksheets(i).Cells(Rows.Count, 6).End(xlUp).Row
wb.Worksheets(i)をActivesheetに変更しても同様のエラーが発生しました。
VBA
1Sub insatu_xls() 2Dim fol As String 3Dim f As String 4Dim wb As Workbook 5Dim wscnt As Long 6Dim i As Long 7 8 9fol = "C:\temp" 10f = Dir(fol & "*.xls") 11Do While f <> "" 12 Set wb = Workbooks.Open(fol & "\" & f) 13 wscnt = wb.Worksheets.Count 14 15For i = 1 To wscnt 16 17 MaxRow = wb.Worksheets(i).Cells(Rows.Count, 6).End(xlUp).Row 18 19 MsgBox MaxRow 20 21 With wb.Worksheets(i).PageSetup 22 .Orientation = xlPortrait 23 .Zoom = False 24 If MaxRow > 20 Then 25 .FitToPagesTall = 1 26 Else 27 .FitToPagesTall = 2 28 End If 29 30 .FitToPagesWide = 1 31 End With 32 33 wb.Worksheets(i).PrintOut 34 Next i 35 wb.Close 36 f = Dir() 37Loop 38Set wb = Nothing 39End Sub
回答2件
あなたの回答
tips
プレビュー