我有5个订单价格的练习文件。目标是向每个记录添加20美元,并有一个消息框来显示结果。
数据如下:
我的代码是这样的:
Sub TotalDelivery()
Dim curDelCharge As Currency
Dim curTotal(4)
Dim i As Integer
Worksheets("Sheet1").Range("B10").Activate
Const curDelCharge = 20
For i = 0 To 4
curTotal(i) = ActiveCell.Offset(i, 1).Value + curDelCharge
MsgBox (curTotal(i))
Next i
End Sub
但是,消息框仅显示20,这只是我的curDelCharge值。
要调试,我将msgbox代码更改为:
MsgBox(ActiveCell.Offset(i,1).Value)
返回值为空白,这意味着代码无法读取我的ActiveCell值。这是为什么?
提前致谢!
最佳答案
这行:
curTotal(i) = ActiveCell.Offset(i, 1).Value + curDelCharge
相反,应为:
curTotal(i) = ActiveCell.Offset(i, 0).Value + curDelCharge
放置“ 1”将使偏移量1列向右移动,这是您不希望的。
关于vba - VBA阵列不起作用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40026224/