- 帖子
- 262
- 主題
- 8
- 精華
- 0
- 積分
- 280
- 點名
- 0
- 作業系統
- xp
- 軟體版本
- Office 2007
- 閱讀權限
- 20
- 性別
- 男
- 來自
- HK
- 註冊時間
- 2015-8-11
- 最後登錄
- 2025-3-24

|
try this:
Sub zz()
Dim ar, d As Object, x$
Set d = CreateObject("scripting.dictionary")
For Each s In Sheets
If InStr(1, s.Name, "Data_", 1) Then
ar = s.[b1048576].End(3).CurrentRegion.Value
For i = 2 To UBound(ar)
d(ar(i, 1)) = d(ar(i, 1)) + ar(i, 2)
Next
End If
Next
ar = Sheets("D_ALL").UsedRange.Value
For i = 2 To UBound(ar)
t = d(ar(i, 1)) - ar(i, 2)
If t Then
d(ar(i, 1)) = t
Else
d.Remove (ar(i, 1))
End If
Next
If d.Count Then
k = d.keys: t = d.items
For i = 0 To UBound(t)
If t(i) > 0 Then
k(i) = k(i) & " +" & t(i)
Else
k(i) = k(i) & " " & t(i)
End If
Next
End If
MsgBox Join(k, Chr(10))
End Sub |
|