Excel上F列の最終行数によって、印刷するページを変更して自動印刷するVBAを作成しようと思っております。
実行をしてみた所、以下最終行を取得する所で400エラー(※)となります。
考えられる原因教えて頂けますでしょうか。
ポップアップウィンドウで400のみ表示されました。
調べてみた所、「VBA エラー 400 アプリケーション定義または
オブジェクト定義のエラーです。」となっておりました。
MaxRow = wb.Worksheets(i).Cells(Rows.Count, 6).End(xlUp).Row
wb.Worksheets(i)をActivesheetに変更しても同様のエラーが発生しました。
VBA
Sub insatu_xls() Dim fol As String Dim f As String Dim wb As Workbook Dim wscnt As Long Dim i As Long fol = "C:\temp" f = Dir(fol & "*.xls") Do While f <> "" Set wb = Workbooks.Open(fol & "\" & f) wscnt = wb.Worksheets.Count For i = 1 To wscnt MaxRow = wb.Worksheets(i).Cells(Rows.Count, 6).End(xlUp).Row MsgBox MaxRow With wb.Worksheets(i).PageSetup .Orientation = xlPortrait .Zoom = False If MaxRow > 20 Then .FitToPagesTall = 1 Else .FitToPagesTall = 2 End If .FitToPagesWide = 1 End With wb.Worksheets(i).PrintOut Next i wb.Close f = Dir() Loop Set wb = Nothing End Sub
まだ回答がついていません
会員登録して回答してみよう