標題:
跨檔案多重條件加總
[打印本頁]
作者:
hong912
時間:
2013-8-11 14:49
標題:
跨檔案多重條件加總
本帖最後由 hong912 於 2013-8-11 14:50 編輯
大大們, 好
小弟用加聰計算, 都是用SUM或有條件加聰, 現小弟希望能用跨檔案多重條件加總把積分表檔案內相同月份, 相同編號的積分加聰至計算檔案內F欄,
附檔, 希望能得到回應, 謝謝!!
[attach]15757[/attach][attach]15756[/attach]
作者:
luhpro
時間:
2013-8-13 00:06
回復
1#
hong912
本來用 xlsx 格式檔案實做出來了,
但要上傳代碼前卻突然發現檔案裡的程式碼全部看不見(甚至連檔案都變唯讀)了,
所以只能改用自己版本的 xls 檔案格式重做後上傳囉:
Private Sub cbCal_Click()
Dim lRows As Long, lRow As Long
Dim wbData As Workbook
Dim dTar
Set dTar = CreateObject("Scripting.Dictionary")
Set wbData = Workbooks.Open(Me.Parent.Path & "\積分表.xlsx", , True)
With wbData.Application.Sheets("工作表1")
lRows = .Cells(Rows.Count, 1).End(xlUp).Row
For lRow = 3 To lRows
dTar(CStr(.Cells(lRow, 1) & "-" & .Cells(lRow, 3))) = dTar(CStr(.Cells(lRow, 1) & "-" & .Cells(lRow, 3))) + CLng(.Cells(lRow, 7))
Next lRow
End With
With Me
lRows = .Cells(Rows.Count, 1).End(xlUp).Row
For lRow = 3 To lRows
.Cells(lRow, 6) = dTar(CStr(.Cells(lRow, 1) & "-" & .Cells(lRow, 2)))
Next lRow
End With
wbData.Close
End Sub
複製代碼
[attach]15764[/attach]
作者:
hong912
時間:
2013-8-13 07:39
回復
2#
luhpro
謝謝大大回應,
待今晚放工才有時間試用,
真的衷心謝謝,
作者:
Hsieh
時間:
2013-8-13 09:52
回復
1#
hong912
Private Sub CommandButton1_Click()
Dim m%, n$
Set d = CreateObject("Scripting.Dictionary")
fs = Application.GetOpenFilename("積分表Excel Files (*.xls*), *.xls*", , "請選取積分表檔案")
With Workbooks.Open(fs)
m = InputBox("輸入月份", , 10)
n = InputBox("輸入編號", , "A1")
With .Sheets(1)
For Each a In .Range(.[A2], .[A2].End(xlDown))
d(a & a.Offset(, 2)) = d(a & a.Offset(, 2)) + a.Offset(, 6)
Next
End With
.Close 0
End With
[F2] = d(m & n)
End Sub
複製代碼
作者:
hong912
時間:
2013-8-13 22:11
回復
4#
Hsieh
謝謝版大回應, 衷心感謝, 小弟剛放工回家, 稍後會試用二位大大程式, 在此再感謝,
作者:
周大偉
時間:
2013-8-14 09:08
回復
4#
Hsieh
版大, 早晨
版大所用的輸入月份及編號把數值加聰顯示出來, 這與樓上大大所寫的, 就是別類風格,
版大, 可否把程式改寫為無須輸入月份及編號, 只要用家按按鈕, 資料自行計算顯示,
或許版大及樓上大大會奇怪, 樓上大大的程式不是所需要麼, , 其實主要是我想從版大及樓上大大的程式中吸取學習, 感恩...
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)