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

回答編集履歴

1

コード追記

2020/08/13 03:52

投稿

hatena19
hatena19

スコア34367

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