teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

エラーの詳細、インデントの修正

2018/09/04 05:44

投稿

Tiroze
Tiroze

スコア35

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