+ -
当前位置:首页 → 问答吧 → 多条件求和。能否可以用VBA进行运算,提高速度?

多条件求和。能否可以用VBA进行运算,提高速度?

时间:2011-08-09

来源:互联网

能否可以用VBA进行运算,提高速度?只需根据明细账求出贵金属库存数。请高手帮忙,不胜感激。内容见附件

附件

贵金属明细账登记簿.rar(130.1 KB)

2011-8-9 15:38, 下载次数: 25

作者: 1063178818   发布时间: 2011-08-09

怎么都是这种类似的问题。你想用VBA?你以前用什么的。还有你数据有多少条?
http://club.excelhome.net/viewth ... p;extra=&page=1
这贴和你的需求一样

[ 本帖最后由 panan123_0 于 2011-8-9 15:56 编辑 ]

作者: panan123_0   发布时间: 2011-08-09

复制内容到剪贴板
代码:
Sub yy()
Dim i&, Myr&, Arr, r1, r2
Dim d, k, t, aa, x$
Set d = CreateObject("Scripting.Dictionary")
Application.ScreenUpdating = False
Sheet1.Activate
Myr = [a65536].End(xlUp).Row
Arr = Range("a5:h" & Myr)
For i = 1 To UBound(Arr)
    x = Arr(i, 4) & "|" & Arr(i, 6)
    If Not d.exists(x) Then
        If Arr(i, 7) = "调出" Then
            d(x) = -Arr(i, 8)
        Else
            d(x) = Arr(i, 8)
        End If
    Else
        If Arr(i, 7) = "调出" Then
            d(x) = d(x) - Arr(i, 8)
        Else
            d(x) = d(x) + Arr(i, 8)
        End If
    End If
Next
k = d.keys
t = d.items
Sheet2.Activate
For i = 0 To UBound(k)
    aa = Split(k(i), "|")
    Set r1 = [a:a].Find(aa(0), , , 1)
    Set r2 = Rows("2:3").Find(aa(1), , , 1)
    Cells(r1.Row, r2.Column) = t(i)
Next
End Sub

作者: 蓝桥玄霜   发布时间: 2011-08-09

请见附件。

附件

贵金属明细账登记簿0809.rar(141.85 KB)

2011-8-9 15:57, 下载次数: 0

作者: 蓝桥玄霜   发布时间: 2011-08-09

相关阅读 更多