我有5个订单价格的练习文件。目标是向每个记录添加20美元,并有一个消息框来显示结果。

数据如下:

vba - VBA阵列不起作用?-LMLPHP

我的代码是这样的:

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/

10-09 17:11