- 帖子
- 4901
- 主題
- 44
- 精華
- 24
- 積分
- 4916
- 點名
- 142
- 作業系統
- Windows 7
- 軟體版本
- Office 20xx
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台北
- 註冊時間
- 2010-4-30
- 最後登錄
- 2026-7-16
                
|
回復 7# softsadwind
照著你的公式意義,改成使用VBA敘述- Sub ex()
- Dim Ar()
- Set d = CreateObject("Scripting.Dictionary")
- Set d1 = CreateObject("Scripting.Dictionary")
- With 工作表1
- For Each a In .Range(.[B2], .[B65536].End(xlUp))
- d(a.Value) = a.Offset(, -1).Value
- d1(a.Value) = a.Offset(, -1).Resize(, 6).Value
- Next
- End With
- With 工作表2
- .[B2:B65536] = ""
- .[B2].Resize(d.Count, 1) = Application.Transpose(d.keys)
- End With
- With 工作表3
- .[A2:F65536] = ""
- .[A2].Resize(d1.Count, 6) = Application.Transpose(Application.Transpose(d1.items))
- End With
- With 工作表4
- n = .[B1]
- For Each ky In d.keys
- If Date - n >= d(ky) Then
- ReDim Preserve Ar(s)
- Ar(s) = d1(ky)
- s = s + 1
- End If
- Next
- .[A3:F65536] = ""
- .[A3].Resize(s, 6) = Application.Transpose(Application.Transpose(Ar))
- End With
- End Sub
複製代碼 |
|