在vba列中只有递增的值

在vba列中只有递增的值,vba,excel,excel-formula,Vba,Excel,Excel Formula,我正在写一个宏,在进入其他步骤之前,我需要稍微清理一下数据。我需要做的一件事是在M列中只有递增或相等的值 M(Current Data) M (What is Needed) 0 0 0 0 8055 8055 8055 8055 0 8055 0 8055 0

我正在写一个宏,在进入其他步骤之前,我需要稍微清理一下数据。我需要做的一件事是在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)
M(当前数据)M(需要什么)
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

=如果(M2如果需要宏,则:

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
Sub-neverdecrese()
我和你一样长,我和你一样长
N=单元格(Rows.Count,“M”)。结束(xlUp)。行
对于i=2到N
如果单元格(i,“M”).值<单元格(i-1,“M”).值,则
单元格(i,“M”)。数值=单元格(i-1,“M”)。数值
如果结束
接下来我
端接头

不需要宏。假设a列中的原始值和B列中的新值,然后在B2中放入
=MAX(A2,B1)
并向下拖动
MAX()
函数的另一种使用形式将是
=MAX(a$2:A2)
根据需要填充。您跳过了几个步骤,我认为这会起作用:
Sub NeverDecrease()变暗N,i,Temp,只要N=单元格(Rows.Count,“M”)。结束(xlUp)。行更改=1直到更改=0如果单元格(i,“M”)。值<单元格(i-1,“M”)。值然后Temp=单元格(i,“M”)。值单元格(i,“M”)。值=单元格(i-1,“M”).Value单元格(i-1,“M”)=温度变化=变化+1结束,如果下一个i循环结束子节点
你们是最好的!谢谢。