我有以下问题:
在工作表中,有一系列拉伸试验数据。
最多3k(给予或接受)点只存在正日期值(我需要绘制的数据,并进行统计分析)。之后出现一些负面因素,并且它们再次出现一些正值可以被认为是噪声。 e.g,
Line A B C D
1k 1 2 3 4
2k 5 6 7 8
3k 9 1 2 3
4k 1 2 3 -3
5k 1 1 1 1
我想在第一个负值之后删除/清除行。 (在这种情况下,从第4k行到最后一行)。
我有一些代码来识别第一个负值出现的行。
Dim flag As Boolean
Dim aux_linha As Integer
Dim i As Integer
flag = False
i = 3
While i < 20000 And flag = False
' 5 is the column index from which to remove the noisy data
If Cells(i, 5) < 0 Then
flag = True
aux_linha = i
End If
i = i + 1
Wend
Cells(4, 10) = aux_linha 'store the value
我尝试做一个循环来删除行,但它需要永远
For i = 1 To 10000 'excessive number of lines
Rows(aux_linha).Row.Delete
Next
任何人都可以帮忙解决这个问题吗?!
答案 0 :(得分:0)
创建一个范围,然后删除整个范围:
Range(aux_linha & ":" & ActiveSheet.UsedRange.Rows.Count).Delete
注意:您也可以通过跳过退出标记测试和手动递增来大幅简化循环,只需使用For循环并在达到值时退出:
For i = 3 To 20000
If Cells(i, 5) < 0 Then
aux_linha = i
Exit For
End If
Next i