VBA 数据计算,简单的数据运算.我想让A列中的数据经过程序的计算得到如下结果.在A列中从上到下,如果第n个数比上面第n-1个数小m,那么从第n个数起一直到最后一个数都要加上m.直到最后,所有
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/18 03:27:53
VBA 数据计算,简单的数据运算.我想让A列中的数据经过程序的计算得到如下结果.在A列中从上到下,如果第n个数比上面第n-1个数小m,那么从第n个数起一直到最后一个数都要加上m.直到最后,所有
VBA 数据计算,简单的数据运算.
我想让A列中的数据经过程序的计算得到如下结果.在A列中从上到下,如果第n个数比上面第n-1个数小m,那么从第n个数起一直到最后一个数都要加上m.直到最后,所有的数从上到下都依次增大.例如我的数据经过两步达到如下结果.
Sub 数据计算()
Sheets("Sheet1").Select
n = [B65536].End(xlUp).Row
For i = 1 To n
If Sheets("Sheet1").Range("B" & i + 1).Value >= Sheets("Sheet1").Range("B" & i).Value Then
Sheets("Sheet1").Range(" C" & i + 1).Value = Sheets("Sheet1").Range("B" & i + 1).Value
Else
Sheets("Sheet1").Range("C" & i + 1 & ":C" & n).Value = Sheets("Sheet1").Range("B" & i + 1 & ":B" & n).Value + (Sheets("Sheet1").Range("B" & i).Value - Sheets("Sheet1").Range("B" & i + 1).Value)
End If
Next i
End Sub
我的程序老是错误.请大侠改正啊.没你不行吖.
其实我的数据计算源自于这个问题,现在原始数据X坐标值没有问题,只是Y的值除了问题,Y值是不该降下来的,只能增长.原始数据画的图是这样子的如图1
我想正确的图应该是这样的如图2
不知道该怎么处理数据,使数据恢复正常.
各位大侠都很好很专业.各位大写处理后的程序绘出的图是这个样子的,如图3
跟图2 不一样啊,请问怎么修改啊?
VBA 数据计算,简单的数据运算.我想让A列中的数据经过程序的计算得到如下结果.在A列中从上到下,如果第n个数比上面第n-1个数小m,那么从第n个数起一直到最后一个数都要加上m.直到最后,所有
工作表名称上点右键选查看代码,弹出窗口粘贴以下代码
Sub 数据计算()
Dim arr()
n = [b65536].End(xlUp).Row
arr = WorksheetFunction.Transpose(Range(Cells(1,2),Cells(n,2)).Value)
For i = 1 To UBound(arr) - 1
If arr(i) > arr(i + 1) Then
m = arr(i) - arr(i + 1)
For h = i + 1 To UBound(arr)
arr(h) = arr(h) + m
Next
End If
Next
Range("C1").Resize(UBound(arr),1) = WorksheetFunction.Transpose(arr)
End Sub