|
考え方は、
(1)E列がerrorになっている時の、B列の値(y座標番号)を
Dictionaryに登録する。
(2)各行をしたから見ていって、B列がその登録したy座標番号なら、
その行を削除する。
Sub test()
Dim dic As Object
Dim lastRow As Long
Dim k As Long
Set dic = CreateObject("Scripting.Dictionary")
lastRow = Cells(Rows.Count, 1).End(xlUp).Row
For k = 2 To lastRow
If Cells(k, 5).Value = "error" Then ''例示です。
dic(Cells(k, 2).Value) = Empty
End If
Next
For k = lastRow To 2 Step -1
If dic.Exists(Cells(k, 2).Value) Then
'' Rows(k).Delete
Cells(k, 6).Value = 1
End If
Next
End Sub
なお、上記ではerror かどうかの判定はできているものとしていますが、
ここも数式で判定するということなら、確認が必要な点があります。
> Z座標が(最大値と最小値の差)*2/3+最小値よりも大きいこと
この最大、最小とはどのような範囲での最大最小なのですか?
全ての範囲ですか?
それとも、特定の範囲に絞ってということはありますか
(例:x座標データ番号が1のものに限定するとか)
|
|