仅在列vba中具有递增值

时间:2014-09-18 19:35:09

标签: excel vba excel-vba excel-formula

我正在编写一个宏,我需要在进入其他步骤之前先擦除数据。我需要的一件事就是在M列中只有增加或相等的值。

M(Current Data)     M (What is Needed)
0                   0
0                   0
8055                8055
8055                8055
0                   8055
0                   8055
0                   8055
611                 8055
611                 8055
0                   8055
0                   8055
0                   8055
500                 8055
500                 8055
3065                8055
8394                8394
8300                8394
8000                8394
8194                8394

=if(M2<M1,M1,M2)

我已经尝试了各种各样的IF公式,例如上面的那个,但是,正如你可能看到的那样,当我连续点击2个零时,公式不再是解决方案。我一直试图无情地寻找答案,我确信它在那里但是,我想我不确定如何恰当地说出来。任何帮助表示赞赏。祝你有美好的一天!

1 个答案:

答案 0 :(得分:0)

如果你需要一个宏,那么:

Sub NeverDecrease()
    Dim N As Long, i As Long
    N = Cells(Rows.Count, "M").End(xlUp).Row
    For i = 2 To N
        If Cells(i, "M").Value < Cells(i - 1, "M").Value Then
            Cells(i, "M").Value = Cells(i - 1, "M").Value
        End If
    Next i
End Sub