0
'理想情况下,我想循环到下面输出范围的最后一列(E6
),然后在5,10和10秒范围内运行移动平均值。 15,20,25至50间隔为移动平均期间...在时间序列上运行移动平均值,间隔为5循环到最后一列
基本上我想清理这里的代码。我不是专业的编码员。将欣赏一些建议。
列C
是价格数据 E6
是我希望它从最后均线即50
表填写姓名跨越的“数据”
Sub Mov_Avgs()
'last row
Dim Lastrow As Long
Lastrow = Range("C" & Rows.Count).End(xlUp).Row
Application.Run "ATPVBAEN.XLAM!Moveavg", ActiveSheet.Range("$C$6:$C" & Lastrow), _
ActiveSheet.Range("E6"), 5, False, False, False
Application.Run "ATPVBAEN.XLAM!Moveavg", ActiveSheet.Range("$C$6:$C" & Lastrow), _
ActiveSheet.Range("F6"), 10, False, False, False
Application.Run "ATPVBAEN.XLAM!Moveavg", ActiveSheet.Range("$C$6:$C" & Lastrow), _
ActiveSheet.Range("G6"), 15, False, False, False
Application.Run "ATPVBAEN.XLAM!Moveavg", ActiveSheet.Range("$C$6:$C" & Lastrow), _
ActiveSheet.Range("H6"), 20, False, False, False
Application.Run "ATPVBAEN.XLAM!Moveavg", ActiveSheet.Range("$C$6:$C" & Lastrow), _
ActiveSheet.Range("I6"), 25, False, False, False
Application.Run "ATPVBAEN.XLAM!Moveavg", ActiveSheet.Range("$C$6:$C" & Lastrow), _
ActiveSheet.Range("J6"), 30, False, False, False
Application.Run "ATPVBAEN.XLAM!Moveavg", ActiveSheet.Range("$C$6:$C" & Lastrow), _
ActiveSheet.Range("K6"), 35, False, False, False
Application.Run "ATPVBAEN.XLAM!Moveavg", ActiveSheet.Range("$C$6:$C" & Lastrow), _
ActiveSheet.Range("L6"), 40, False, False, False
Application.Run "ATPVBAEN.XLAM!Moveavg", ActiveSheet.Range("$C$6:$C" & Lastrow), _
ActiveSheet.Range("M6"), 45, False, False, False
Application.Run "ATPVBAEN.XLAM!Moveavg", ActiveSheet.Range("$C$6:$C" & Lastrow), _
ActiveSheet.Range("N6"), 50, False, False, False
End Sub