虽然我在写它的时候大致了解了我的编码,但我已经忘记了如何解释它的前几部分(粗体)。
为什么“长”?我的理解是,当变量只取更大的整数值时使用它。由于份额值包含几个小数,我不知道为什么我选择这个而不是“双倍”。
为什么/何时我们将变量调暗为“范围”,为什么我们要使用“设置”?我对 set 函数用途的有限理解是将值分配给“对象”变量。为什么“范围”是“对象”?
我完全忘记了Set stockValue = Range("B5:B" & lastStockprice) 行在做什么,尤其是 & 符号。
我不知道这里发生了什么:
ReDim stockPrice(stockValue.Count - 1) For Each cell In stockValue stockPrice(cell.Row - 5) = cell.Value Next
子移动平均()
Dim CumulSum() As Double
Dim MovingAv() As Double
RowCountA = Range("StockPrice").Rows.Count
RowCountB = Range("MovingAv").Rows.Count
ReDim CumulSum(RowCountB)
Dim stockPrice As Variant
Dim lastStockprice **As Long**
lastStockprice = Cells(Rows.Count, "B").End(xlUp).Row
Dim stockValue **As Range**
**Set stockValue = Range("B5:B" & lastStockprice)**
**ReDim stockPrice(stockValue.Count - 1)
For Each cell In stockValue
stockPrice(cell.Row - 5) = cell.Value
Next**
For i = 0 To RowCountB - 1
For k = 0 To 9
CumulSum(i) = CumulSum(i) + stockPrice(i + k)
Next k
Next i
For i = 1 To RowCountB
Range("MovingAv").Cells(i) = CumulSum(i - 1) / 10
Next i
结束子
如果有人可以为我解释粗体代码(我对 VBA 有非常基本的了解,可以扩展到矩阵乘法、基本函数和双数组),我将不胜感激。:)