- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
5#
發表於 2014-4-1 06:12
| 只看該作者
本帖最後由 GBKEE 於 2014-4-1 06:16 編輯
回復 4# 518587
d(Format(Mid(a, 1, 8), "0000/00/00")) = d(Format(Mid(a, 1, 8), "0000/00/00")) + Val(Mid(a, 9)) 是日期的加總
可能因為資料中有些日期沒有,如果要加上日期可以連續就算沒有資料也可以出現日期嗎?! 看不懂- Option Explicit 'B欄數量的加總
- Sub Ex()
- Dim D As Object, A As Range, K As Long, I As Long
- Set D = CreateObject("Scripting.Dictionary") '字典物件
- For Each A In Range([A1], [A1].End(xlDown)) '資料在A欄
- D(Val(Mid(A, 1, 8))) = D(Val(Mid(A, 1, 8))) + A.Offset(, 1) '數量在B欄的加總
- 'Val(Mid(A, 1, 8)) 轉為數字
- Next
- [D:E].Clear
- For I = 1 To D.Count '最小值到最大值
- K = Application.WorksheetFunction.Small(D.KEYS, I)
- [D1].Offset(I - 1) = Format(K, "0000/00/00") '轉為日期格式
- [E1].Offset(I - 1) = D(K) '數量加總
- Next
- End Sub
複製代碼 |
|