|
我的程序运行错误,要求是对meigesheet表都进行相同的操作:
1,如果G列的某一行的数值的绝对值大于0.3,那么就需要删除J列这一行的那个数值,,同时还要删除这个值上下的两个值;
2,如果H列的某一行的绝对值大于40,同样,需要删除J列这一行的那个数值,,同时还要删除这个值上下的两个值;
3,如果I列的某一行的绝对值大于10000,同样,需要删除J列这一行的那个数值,,同时还要删除这个值上下的两个值;
heet2,sheet3.。。。。。。都进行相同的操作, 具体见附件,谢谢了!
Sub Macro2()
Dim arr, i&, k&
For k = 1 To Sheets.Count
If Sheets(k).Range("a1") <> "" Then
arr = Range("a1").CurrentRegion
For i = 1 To UBound(arr)
If Abs(arr(i, 7)) > 0.3 Or Abs(arr(i, 8)) > 40 Or Abs(arr(i, 9)) > 10000 Then arr(i, 10) = ""
If i > 1 And i < UBound(arr) Then
If Abs(arr(i, 7)) > 0.3 Or Abs(arr(i, 8)) > 40 Or Abs(arr(i, 9)) > 10000 Then arr(i - 1, 10) = "": arr(i + 1, 10) = ""
End If
Next
Sheets(k).Range("a1").Resize(UBound(arr), UBound(arr, 2)) = arr
End If
Next
End Sub
Sub Macro2()
Dim arr, i&, k&
For k = 1 To Sheets.Count
If Sheets(k).Range("a1") <> "" Then
arr = Sheets(k).Range("a1").CurrentRegion
For i = 1 To UBound(arr)
If Abs(arr(i, 7)) > 0.3 Or Abs(arr(i, 8)) > 40 Or Abs(arr(i, 9)) > 10000 Then arr(i, 10) = ""
If i > 1 And i < UBound(arr) Then
If Abs(arr(i, 7)) > 0.3 Or Abs(arr(i, 8)) > 40 Or Abs(arr(i, 9)) > 10000 Then arr(i - 1, 10) = "": arr(i + 1, 10) = ""
End If
Next
Sheets(k).Range("a1").Resize(UBound(arr), UBound(arr, 2)) = arr
End If
Next
End Sub
|
|