回答編集履歴

1

コード追記

2020/08/13 03:52

投稿

hatena19
hatena19

スコア34075

test CHANGED
@@ -3,3 +3,63 @@
3
3
 
4
4
 
5
5
  [ExcelのIFERROR関数の使い方|エラーの場合に指定した値を返す|Office Hack](https://office-hack.com/excel/iferror/)
6
+
7
+
8
+
9
+
10
+
11
+ ---
12
+
13
+ 直接の回答ではないですが、
14
+
15
+
16
+
17
+ > セル側でエラーを無視すれば回るのですが、数が膨大なのでVBA側で出来る方法を探っていました
18
+
19
+
20
+
21
+ シート上のすべてのエラーのあるセルをIFERROR関数でエラー無視するように修正するVBAを作ってみました。
22
+
23
+
24
+
25
+ 下記を実行するとアクティブなシートのエラーセルのエラーを""に変換します。
26
+
27
+
28
+
29
+ ```vba
30
+
31
+ Sub エラーセルを修正する()
32
+
33
+ Dim errRng As Range
34
+
35
+ On Error Resume Next
36
+
37
+ Set errRng = Cells.SpecialCells(xlCellTypeFormulas, xlErrors)
38
+
39
+ On Error GoTo 0
40
+
41
+
42
+
43
+ If errRng Is Nothing Then
44
+
45
+ MsgBox "エラーのセルはありません。"
46
+
47
+ Else
48
+
49
+ Dim errCell As Range
50
+
51
+ For Each errCell In errRng
52
+
53
+ Dim f As String
54
+
55
+ f = errCell.Formula
56
+
57
+ errCell.Formula = "=IFERROR(" & Mid$(f, 2) & ","""")"
58
+
59
+ Next
60
+
61
+ End If
62
+
63
+ End Sub
64
+
65
+ ```