返回列表 上一主題 發帖

[發問] 陣列篩選問題(已解決)

回復 7# softsadwind
照著你的公式意義,改成使用VBA敘述
  1. Sub ex()
  2. Dim Ar()
  3. Set d = CreateObject("Scripting.Dictionary")
  4. Set d1 = CreateObject("Scripting.Dictionary")
  5. With 工作表1
  6.    For Each a In .Range(.[B2], .[B65536].End(xlUp))
  7.       d(a.Value) = a.Offset(, -1).Value
  8.       d1(a.Value) = a.Offset(, -1).Resize(, 6).Value
  9.    Next
  10. End With
  11. With 工作表2
  12. .[B2:B65536] = ""
  13. .[B2].Resize(d.Count, 1) = Application.Transpose(d.keys)
  14. End With
  15. With 工作表3
  16. .[A2:F65536] = ""
  17. .[A2].Resize(d1.Count, 6) = Application.Transpose(Application.Transpose(d1.items))
  18. End With
  19. With 工作表4
  20. n = .[B1]
  21. For Each ky In d.keys
  22. If Date - n >= d(ky) Then
  23. ReDim Preserve Ar(s)
  24. Ar(s) = d1(ky)
  25. s = s + 1
  26. End If
  27. Next
  28. .[A3:F65536] = ""
  29. .[A3].Resize(s, 6) = Application.Transpose(Application.Transpose(Ar))
  30. End With
  31. End Sub
複製代碼
學海無涯_不恥下問

TOP

回復 10# softsadwind

你的附件中檔案應是2010版存成97-2003版
所以工作表的CodeName是"工作表1"的字串
將程式碼內這些改成正確工作表名稱試試
學海無涯_不恥下問

TOP

        靜思自在 : 君子如水,隨方就圓,無處不自在。
返回列表 上一主題