質問編集履歴

1

該当ソースを省略せずに入力

2020/01/24 10:32

投稿

dispatch_worker
dispatch_worker

スコア4

test CHANGED
File without changes
test CHANGED
@@ -16,6 +16,20 @@
16
16
 
17
17
 
18
18
 
19
+ **投稿後、追記**
20
+
21
+ Set wb = Workbooks.Open(Me.Range("B6"), 0)のコードが実行されると
22
+
23
+ Err.Numberが9(インデックスが有効範囲にありません。)になるが、
24
+
25
+ ErrLabl:に飛ばず、Set ws = wb.Worksheets("sheet1")以降のコードが実行され、
26
+
27
+ If Err.Number <> 0 Thenの判定で、Err.Numberが9のため、
28
+
29
+ "データ取込対象のシートが存在しません。"のメッセージが表示される。
30
+
31
+
32
+
19
33
  ### 該当のソースコード
20
34
 
21
35
 
@@ -28,11 +42,61 @@
28
42
 
29
43
 
30
44
 
45
+ Dim wb As Workbook
46
+
47
+ Dim ws As Worksheet
48
+
49
+
50
+
51
+ errMsg = ""
52
+
53
+
54
+
55
+ 'B6セルにファイルのフルパスが入力されている。
56
+
31
- Workbooks.Open(フルパスファイル名, 0)
57
+ Set wb = Workbooks.Open(Me.Range("B6"), 0)
58
+
59
+ Set ws = wb.Worksheets("sheet1")
60
+
61
+
62
+
63
+ Call ws.Range("H8:J16").Copy
64
+
65
+
66
+
67
+ Call ThisWorkbook.Worksheets("test").Cells(2, 3).PasteSpecial(xlPasteValues)
68
+
69
+
70
+
71
+ Application.CutCopyMode = False
32
72
 
33
73
 
34
74
 
35
75
  ErrLabl:
76
+
77
+
78
+
79
+ If Err.Number <> 0 Then
80
+
81
+ errMsg = "データ取込対象のシートが存在しません。"
82
+
83
+ End If
84
+
85
+
86
+
87
+ If Not wb Is Nothing Then
88
+
89
+ Call wb.Close(False)
90
+
91
+ Set wb = Nothnig
92
+
93
+ Set ws = Nothing
94
+
95
+ End If
96
+
97
+
98
+
99
+
36
100
 
37
101
 
38
102
 
@@ -52,6 +116,10 @@
52
116
 
53
117
  コードをステップ実行するとErr.Numberが9にはなるがファイルは開かれて、ErrLabl:に飛ばないことを確認。
54
118
 
119
+ **投稿後、追記**
120
+
121
+ エクセルのオプションが同じことを確認。
122
+
55
123
 
56
124
 
57
125
  ### 補足情報(FW/ツールのバージョンなど)
@@ -61,3 +129,7 @@
61
129
  OS:Windows7
62
130
 
63
131
  Excel2007
132
+
133
+ **投稿後、追記**
134
+
135
+ 開くファイルの拡張子は、xlsxで、VBAコードがないものです。