- 帖子
- 4901
- 主題
- 44
- 精華
- 24
- 積分
- 4916
- 點名
- 142
- 作業系統
- Windows 7
- 軟體版本
- Office 20xx
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台北
- 註冊時間
- 2010-4-30
- 最後登錄
- 2026-7-16
                
|
回復 4# jovi0801
如果這是交易紀錄,不應該判斷周一與周五為區間
因為有可能遇到假日休市,以周別判定不知是否比較正確?- Sub ex()
- Set d = CreateObject("Scripting.Dictionary")
- Set d1 = CreateObject("Scripting.Dictionary")
- With Sheet1
- d1(1) = Array(.[A1].Value, .[B1].Value, .[C1].Value, .[d1].Value, .[E1].Value)
- For Each a In .Range(.[A2], .[A2].End(xlDown))
- w = Year(a) & ":" & Application.WorksheetFunction.WeekNum(a)
- If IsEmpty(d(w & "開")) Then d(w & "開") = a.Offset(, 1).Value
- If a.Offset(, 2) > d(w & "高") Then d(w & "高") = a.Offset(, 2).Value
- If IsEmpty(d(w & "低")) Then
- d(w & "低") = a.Offset(, 3).Value
- ElseIf d(w & "低") > a.Offset(, 3) Then
- d(w & "低") = a.Offset(, 3).Value
- End If
- d(w & "收") = a.Offset(, 4).Value
- d1(w) = Array(a.Value, d(w & "開"), d(w & "高"), d(w & "低"), d(w & "收"))
- Next
- End With
- With Sheet2
- .Cells = ""
- .[A1].Resize(d1.Count, 5) = Application.Transpose(Application.Transpose(d1.items))
- End With
- End Sub
複製代碼 |
|