標題:
有高手可以幫我簡化一下嗎?
[打印本頁]
作者:
am0251
時間:
2011-6-19 17:20
標題:
有高手可以幫我簡化一下嗎?
我做了一個簡單的統計程式,對比下"A2"的內容跟"A3"的內容是否一致,如果是的話,那麼"B2"跟"B3"的數值就會相加,之後"A3"跟"B3"就會刪除,如果是"否"的話就向下一格,資料少的話還好,如困資料多過500之後就會非常的慢(很有可能我的電腦太舊了),在我有錢換新電腦之前,有高手可以幫我簡化一下嗎?謝謝!!
Sub Test()
Dim z As Integer
z = 2
Do While Range("A" & z).Value <> ""
If Range("A" & z).Value = Range("A" & (z + 1)).Value Then
Range("B" & z).Value = Range("B" & z).Value + Range("B" & (z + 1)).Value
Range("A" & (z + 1), "B" & (z + 1)).Delete Shift:=xlUp
Else
z = z + 1
End If
Loop
If Range("A2").Value = "-" Then Range("A2:B2").Delete Shift:=xlUp
End Sub
複製代碼
作者:
oobird
時間:
2011-6-19 22:18
Sub Test()
Dim a, d As Object, i&
a = Range([A2], [b65536].End(3))
Set d = CreateObject("Scripting.Dictionary")
For i = 1 To UBound(a)
d(a(i, 1)) = d(a(i, 1)) + a(i, 2)
Next
Range([A2], [b65536].End(3)) = ""
[A2].Resize(d.Count, 1) = Application.Transpose(d.keys)
[b2].Resize(d.Count, 1) = Application.Transpose(d.items)
If [A2] = "-" Then [A2:B2].Delete (2)
End Sub
複製代碼
作者:
am0251
時間:
2011-6-20 16:57
哇~~!!好厲害啊~~!!真的快很多,不過小弟比較笨,有很多指令都看不明白,大大介意給我介紹一下功能跟原理嗎?謝謝!!
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)