返回列表 上一主題 發帖

[發問] 用VBA來執行SUMPRODUCT多條件統計

[發問] 用VBA來執行SUMPRODUCT多條件統計

各位前輩

原使用SUMPRODUCT多條件統計來執行六個月資料,但今日需執行二年資料,運算時間長,中途修改資料又要重新運算,等待時間長。
所以請教前輩,如何用VBA來執行SUMPRODUCT多條件統計運算。

W1.rar (11.63 KB)
100 字節以內
不支持自定義 Discuz! 代碼

回復 2# GBKEE
非常感謝版主回覆
下列補充說明:
1. 各輸出表格之週次及單位,由程式運算後自動代出。
2. 依B4:B13設定篩選單位,輸出篩選單位全部統計資料表。(如檔案內QWE,ASD單位)
3. 如果B18:B21有設定篩選區域,則再增加輸出該區域統計資料表。(如檔案內QWE,ASD單位之北部資料)
以上請參考附件

W111.rar (17.22 KB)
100 字節以內
不支持自定義 Discuz! 代碼

TOP

回復 4# GBKEE
前輩您好
VBA經執行測試後,表格位置及數據都正確,
但每週數據都重複出現多筆。
例如2012年度有1201~1251週,計51週筆,
但程式執行後確產出6000多筆週次資料。
不懂原因
非常感謝指導
100 字節以內
不支持自定義 Discuz! 代碼

TOP

回復 6# GBKEE
檔案如附件
謝謝

    W04.rar (25.29 KB)
100 字節以內
不支持自定義 Discuz! 代碼

TOP

回復 8# GBKEE
GBKEE版主
非常感謝指導
執行ok
如果d欄至最後一筆資料其中有空格,則執行不完整。
今修訂增加判斷   Do While .Cells(i, "D") <> "" Or .Cells(i, "F") <> ""
執行就ok
另一修訂將Do迴圈改成For迴圈,也ok。
u = .[d65536].End(xlUp).Row
For i = 6 To u

請教於Excel 2010中判斷最後一筆資料列,應如何修改下面式子。
u = .[d65536].End(xlUp).Row
謝謝指導
100 字節以內
不支持自定義 Discuz! 代碼

TOP

回復 10# GBKEE
非常感謝超級版主的指導
感激不盡
謝謝
100 字節以內
不支持自定義 Discuz! 代碼

TOP

回復 8# GBKEE
Dear GBKEE
Private Sub 表格統計(Rng As Range)中
沒有資料的儲存格,目前為空格,
如果沒有資料的儲存格填入"0",
請問如何修改
謝謝指導
100 字節以內
不支持自定義 Discuz! 代碼

TOP

回復 13# GBKEE
非常感謝指導
100 字節以內
不支持自定義 Discuz! 代碼

TOP

回復 8# GBKEE
Dear GBKEE
如下式子,累計次數
22.   M = .Cells(i, "D") & Mid(.Cells(i, "E"), 1, 4) & .Cells(i, "F")
23.   D(1)(M) = D(1)(M) + 1               '全部
24.   M = .Cells(i, "D") & Mid(.Cells(i, "E"), 1, 4) & .Cells(i, "F") & .Cells(i, "L")
25.   D(2)(M) = D(2)(M) + 1               '區域  

如欲計算相同資料只計算一筆。如
22. M = .Cells(i, "D") & .Cells(i, "E") & .Cells(i, "F") 此三項資料相同者只計算一筆
24. M = .Cells(i, "D") & .Cells(i, "E") & .Cells(i, "F") & .Cells(i, "L")  此四項資料相同者只計算一筆

感謝指導
100 字節以內
不支持自定義 Discuz! 代碼

TOP

回復 16# GBKEE
Dear GBKEE
如果依照方式修訂:
Mid(.Cells(i, "E"), 1, 4)   修改為  .Cells(i, "E")
Mid(.Cells(1, C), 1, 4)    修改為  .Cells(1, C)

那週次數字如何取得及輸出
謝謝
100 字節以內
不支持自定義 Discuz! 代碼

TOP

        靜思自在 : 得理要饒人,理直要氣和。
返回列表 上一主題