- 帖子
- 234
- 主題
- 19
- 精華
- 0
- 積分
- 276
- 點名
- 0
- 作業系統
- Windows XP
- 軟體版本
- office 2003
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2013-1-7
- 最後登錄
- 2021-10-7
|
回復 10# john2006168
試試看
Sub ex()
Dim d As Object, a As Variant
Set d = CreateObject("Scripting.dictionary")
For Each a In Range([E2], [E65535].End(3)) '在E欄位置找尋資料
If Not d.exists(a.Value) Then '字典中找不到資料
d(a.Value) = a.Offset(, -2) '將資料存入字典
a.Offset(, -1) = a.Value & "1-" & a.Value & a.Offset(, -2) '將範圍資料填入儲存格
Else '字典中找到資料
a.Offset(, -1) = a.Value & d(a.Value) + 1 & "-" & a.Value & a.Offset(, -2) + d(a.Value) '將範圍資料填入儲存格
d(a.Value) = a.Offset(, -2) + d(a.Value) '更新字典資料
End If
Next
Set d = Nothing
End Sub |
|