|
发表于 2012-5-9 15:03
|
显示全部楼层
本楼为最佳答案
错误有两个
1、数据源不正确 单元格中 数量X单价<>金额。
2、代码错误,你的代码只算出最后一个A 的金额,以下是修改后的代码。
Sub 二维动态数组()
Dim arr(), k, x, j
k = Application.CountIf(Sheets("sheet2").[a:a], "A")
ReDim arr(1 To k, 1 To 4)
For x = 1 To 10000
If Cells(x, 1) = "A" Then
j = j + 1
arr(j, 1) = "A"
arr(j, 2) = Cells(x, 2)
arr(j, 3) = Cells(x, 3)
arr(j, 4) = arr(j, 2) * arr(j, 3)
End If
Next x
Range("H2").Value = Application.Sum(Application.Index(arr, , 4))
End Sub
|
|