| 
    
     |  | γ さんのコードを参考にしたら無事動きました。 
 本当にありがとうございます。
 
 ただ、エラー値が多いと完了まで5分ぐらいかかってしまいます。
 
 もし、時間短縮の手法についてご存知でしたら、教えていただけるとありがたいです。
 
 ↓今回作成したマクロ
 
 ---------------------------------------------------
 
 Sub エラー値検出()
 '
 ' エラー値検出 Macro
 '
 
 Dim dic As Object
 Dim lRow As Long
 Dim izRange As Range
 Dim izmax As Double
 Dim izmin As Double
 Dim iz As Double
 Dim z As Variant '←型の不一致エラーのためVariantに変更
 Dim i As Long
 
 Worksheets("Sheet1").Activate
 
 lRow = Cells(Rows.Count, 1).End(xlUp).Row
 Set dic = CreateObject("Scripting.Dictionary")
 
 '基準値の作成
 Set izRange = Range(Cells(26, 5), Cells(Rows.Count, 5).End(xlUp))
 izmax = Application.WorksheetFunction.Max(izRange)
 izmin = Application.WorksheetFunction.Min(izRange)
 iz = izmin + ((izmax - izmin) / 3)
 
 Application.ScreenUpdating = False
 
 'x座標番号が1 かつ z座標が基準値を超えていたら、
 '対応するy座標番号 を Dictionaryに保存
 
 For i = 2 To lRow
 z = Cells(i, 5).Value
 If z > iz And Cells(i, 1).Value = 1 Then
 dic(Cells(i, 2).Value) = Empty
 End If
 Next
 
 'そのy座標番号のデータをすべて削除する
 For i = lRow To 2 Step -1
 If dic.Exists(Cells(i, 2).Value) Then
 Rows(i).Delete
 ''Cells(i, 6).Value = 1
 End If
 Next
 
 Application.ScreenUpdating = True
 
 
 '
 
 End Sub
 
 
 |  |