- 帖子
- 4901
- 主題
- 44
- 精華
- 24
- 積分
- 4916
- 點名
- 142
- 作業系統
- Windows 7
- 軟體版本
- Office 20xx
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台北
- 註冊時間
- 2010-4-30
- 最後登錄
- 2026-7-16
                
|
回復 2# melvinhsu - Sub ex()
- Dim A As Range
- Set d = CreateObject("Scripting.Dictionary")
- With Sheets(1)
- For Each A In .Range(.[A2], .[A2].End(xlDown))
- If IsEmpty(d(A.Value)) Then
- Set d(A.Value) = A.Resize(, 3)
- Else
- Set d(A.Value) = Union(d(A.Value), A.Resize(, 3))
- End If
- Next
- End With
- With Sheets(2)
- .UsedRange.Offset(1).Clear '清空原有資料
- r = 2
- For Each ky In d.keys
- r = IIf(i = 0, 2, 1)
- d(ky).Copy .Cells(r + i * 20, 1) '複製到工作表2
- k = Int(d(ky).Count / 3 / 20) '計算所占頁數
- i = i + k + 1
- Next
- End With
- End Sub
複製代碼 |
|