- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
2#
發表於 2014-2-25 16:31
| 只看該作者
回復 1# kasl - Option Explicit
- Sub Ex()
- Dim D As Object, AR(), i, S, xMax As Double, xMin As Double
- Set D = CreateObject("SCRIPTING.DICTIONARY") '字典物件
- With Sheets("進場記錄表")
- i = 3 '從A3 開始
- S = 0
- Do While .Cells(i, "A") <> ""
- D(Mid(.Cells(i, "A"), 1, 6)) = "" '前6位: 年份月份
- ReDim Preserve AR(0 To S)
- AR(S) = .Cells(i, "A")
- If Mid(.Cells(i, "A"), 1, 6) <> Mid(.Cells(i + 1, "A"), 1, 6) Then
- xMax = Application.WorksheetFunction.Large(AR, 1)
- xMin = Application.WorksheetFunction.Small(AR, 1)
- D(Mid(.Cells(i, "A"), 1, 6)) = Array(Mid(.Cells(i, "A"), 1, 6), xMin, xMax)
- S = 0
- Else
- S = S + 1
- End If
- i = i + 1
- Loop
- End With
- With Sheets("Sheet1") '另一工作表
- .Range("a1").Resize(D.Count, 3) = Application.Transpose(Application.Transpose(D.Items))
- End With
- End Sub
複製代碼 |
|