- 帖子
- 4901
- 主題
- 44
- 精華
- 24
- 積分
- 4916
- 點名
- 142
- 作業系統
- Windows 7
- 軟體版本
- Office 20xx
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台北
- 註冊時間
- 2010-4-30
- 最後登錄
- 2026-7-16
                
|
本帖最後由 Hsieh 於 2013-11-26 23:43 編輯
回復 1# missbb
你是要整理資料成為資料庫型態吧- Sub ex()
- Dim OT$, Ary(), r&, y$, a$, i%, s&
- Set dic = CreateObject("Scripting.Dictionary")
- Set dic1 = CreateObject("Scripting.Dictionary")
- r = 2
- With Sheets(1)
- Do Until .Cells(r, 2) = ""
- OT = IIf(.Cells(r, 1) <> "", .Cells(r, 1), OT)
- y = Split(.Cells(r, 2), "年")(0)
- a = Split(.Cells(r, 2), "年")(1)
- If InStr(a, "-") > 0 Then
- ar = Split(a, "-")
- For i = Val(ar(0)) To Val(ar(1))
- dic(y & "年" & i & "月" & OT) = .Cells(r, 3)
- dic1(y & "年" & i & "月") = ""
- Next
- Else
- dic(y & "年" & a & OT) = .Cells(r, 3)
- n = .Cells(r, 2)
- dic1(.Cells(r, 2) & "") = ""
- End If
- r = r + 1
- Loop
- ay = Array("時段", "薪金", "加班")
- ReDim Preserve Ary(s)
- Ary(s) = ay
- s = s + 1
- For Each ky In dic1.keys
- ReDim Preserve Ary(s)
- Ary(s) = Array(ky, dic(ky & ay(1)), dic(ky & ay(2)))
- s = s + 1
- Next
- With Sheets(2)
- .Columns("A:C") = ""
- .[A1].Resize(s, 3) = Application.Transpose(Application.Transpose(Ary))
- End With
- End With
- End Sub
複製代碼 |
|