【发布时间】:2017-10-10 13:41:36
【问题描述】:
'理想情况下,我想循环到下面输出范围的最后一列 (E6),然后在移动平均周期的 5、10、15、20、25 到 50 个间隔内运行移动平均线。 .
基本上我想在这里整理一下代码。我不是专业的编码员。不胜感激。
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
【问题讨论】: