回答編集履歴

2

エラー処理追加

2016/09/08 04:23

投稿

ttyp03
ttyp03

スコア16998

test CHANGED
@@ -39,3 +39,79 @@
39
39
  End Sub
40
40
 
41
41
  ```
42
+
43
+
44
+
45
+ ---
46
+
47
+ エラー処理追加1(エラーを無視する)
48
+
49
+ ```VBA
50
+
51
+ Sub Macro()
52
+
53
+ On Error Resume Next ' <===これを追加
54
+
55
+ Dim r As Long
56
+
57
+ r = 2
58
+
59
+ While Cells(r, 7) <> ""
60
+
61
+ Set Picture = ActiveSheet.Shapes.AddPicture( _
62
+
63
+ Filename:=Cells(r, 7), _
64
+
65
+ LinkToFile:=False, SaveWithDocument:=True, _
66
+
67
+ Left:=Cells(r, 1).Left, Top:=Cells(r, 1).Top, _
68
+
69
+ Width:=50, Height:=50)
70
+
71
+ r = r + 1
72
+
73
+ Wend
74
+
75
+ End Sub
76
+
77
+ ```
78
+
79
+ エラー処理追加2(エラー情報を取得する)
80
+
81
+ ```VBA
82
+
83
+ Sub Macro()
84
+
85
+ On Error Goto ErrHandle ' <===これを追加
86
+
87
+ Dim r As Long
88
+
89
+ r = 2
90
+
91
+ While Cells(r, 7) <> ""
92
+
93
+ Set Picture = ActiveSheet.Shapes.AddPicture( _
94
+
95
+ Filename:=Cells(r, 7), _
96
+
97
+ LinkToFile:=False, SaveWithDocument:=True, _
98
+
99
+ Left:=Cells(r, 1).Left, Top:=Cells(r, 1).Top, _
100
+
101
+ Width:=50, Height:=50)
102
+
103
+ r = r + 1
104
+
105
+ Wend
106
+
107
+ Exit Sub ' <==== ここから先を追加
108
+
109
+ ErrHandle:
110
+
111
+ MsgBox Err.Description
112
+
113
+ ' Resume Next ' 処理を継続する場合はこの行を有効化
114
+
115
+ End Sub
116
+
117
+ ```

1

追加

2016/09/08 04:23

投稿

ttyp03
ttyp03

スコア16998

test CHANGED
@@ -1,3 +1,41 @@
1
1
  こちらの質問が参考になるかも。
2
2
 
3
3
  [https://teratail.com/questions/40321](https://teratail.com/questions/40321)
4
+
5
+
6
+
7
+ ---
8
+
9
+ 上記質問に書いた自分のコードの修正版です。
10
+
11
+ お試しください。
12
+
13
+ 但し、Macでは未検証です。
14
+
15
+ ```VBA
16
+
17
+ Sub Macro()
18
+
19
+ Dim r As Long
20
+
21
+ r = 2
22
+
23
+ While Cells(r, 7) <> ""
24
+
25
+ Set Picture = ActiveSheet.Shapes.AddPicture( _
26
+
27
+ Filename:=Cells(r, 7), _
28
+
29
+ LinkToFile:=False, SaveWithDocument:=True, _
30
+
31
+ Left:=Cells(r, 1).Left, Top:=Cells(r, 1).Top, _
32
+
33
+ Width:=50, Height:=50)
34
+
35
+ r = r + 1
36
+
37
+ Wend
38
+
39
+ End Sub
40
+
41
+ ```