標題:
[發問]
請問各位大大 如何 合併報表 總和統計
[打印本頁]
作者:
owen9399
時間:
2015-11-15 15:01
標題:
請問各位大大 如何 合併報表 總和統計
本帖最後由 GBKEE 於 2015-11-16 07:36 編輯
請問各位大大 如何 合併報表 總和統計
手寫日報表 與 電腦日報表 與 進貨表 都是 用 手動輸入的方式 填入
而 總和統計表 是 將 手寫日報表 與 電腦日報表 與 進貨表 的數值 做 全部的加總
依 序號 由小到大排列 , 呈現一份報表
謝謝指導
作者:
准提部林
時間:
2015-11-15 18:47
Sub TEST()
Dim j&, Jm&, Arr, Brr, xS As Worksheet, xD, N&
Sheets("總和統計表").UsedRange.Offset(1, 0).ClearContents
ReDim Brr(1 To 6000, 1 To 8) '_陣列預設容納 6000 列,可自行調整
Set xD = CreateObject("Scripting.Dictionary")
For Each xS In Sheets(Array("手寫日報表", "電腦日報表", "進貨表"))
Arr = xS.UsedRange.Offset(1, 0).Value
For j = 1 To UBound(Arr)
Jm = xD(Arr(j, 1)): If Arr(j, 1) = "" Then GoTo 99
If Jm = 0 Then N = N + 1: xD(Arr(j, 1)) = N: Jm = N
Brr(Jm, 1) = Arr(j, 1): Brr(Jm, 2) = Arr(j, 2)
If xS.Name = "進貨表" Then
Brr(Jm, 5) = Brr(Jm, 5) + Arr(j, 4) + Arr(j, 5) '_總進貨
If InStr(" " & Brr(Jm, 6) & " ", " " & Arr(j, 6) & " ") = 0 Then '_排除重覆
Brr(Jm, 6) = Trim(Brr(Jm, 6) & " " & Arr(j, 6)) '_紀念品
End If
Brr(Jm, 8) = Trim(Brr(Jm, 8) & " " & Arr(j, 7)) '_備註
Else
Brr(Jm, 3) = Brr(Jm, 3) + Arr(j, 4) '_總張數
Brr(Jm, 4) = Brr(Jm, 4) + Arr(j, 5) '_總股數
Brr(Jm, 8) = Trim(Brr(Jm, 8) & " " & Arr(j, 6)) '_備註
End If
Brr(Jm, 7) = Brr(Jm, 5) - Brr(Jm, 3) '_總進貨-總張數
99: Next
Next
If N = 0 Then Exit Sub
With [總和統計表!A2:H2].Resize(N)
.Value = Brr
.Sort Key1:=.Item(1), Order1:=xlAscending, Header:=xlNo
End With
End Sub
程式碼看起來很多, 其實都只是[參照位置]而已, 請自行去慢慢意會, 不多做說明了~~
作者:
owen9399
時間:
2015-11-16 10:35
感謝大大 的指導
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)