返回列表 上一主題 發帖

[發問] 無法精確比對

回復 1# jesscc
  1. Sub Ex()
  2. Dim D As Object, A As Range
  3. Set D = CreateObject("Scripting.Dictionary")
  4. With Sheet1
  5. For Each A In .Range(.[B5], .[B56636].End(xlUp))
  6.    D(A & "") = A.Offset(, 1).Resize(, 4).Value
  7. Next
  8. End With
  9. With Sheet2
  10. For Each A In .Range(.[D12], .[D56636].End(xlUp))
  11.     A.Offset(, 4).Resize(, 4) = D(A & "")
  12. Next
  13. End With
  14. Set D = Nothing
  15. Set A = Nothing
  16. End Sub
複製代碼

TOP

回復 5# jesscc
=> 釋放記憶體
VBA 的說明   
Nothing 關鍵字是用來將一個物件變數從一個實際的物件�堣擢鰶}來。使用 Set 陳述式可指定 Nothing 給物件變數。舉例來說:
Set MyObject = Nothing
數個物件變數可以同時引用一個實際物件,而當 Nothing 被指定給一個物件變數,那麼該變數將不再引用任何實際物件。當數個物件變數同時引用一個物件,那麼和該物件有關連的記憶體、系統資源中被物件變數所引用到的部份,只有在全部的物件變數都設成 Nothing 後才會被釋放。而變數被設成 Nothing 的方法不外是直接使用 Set,或等待最後被設成 Nothing 的物件變數超出範圍之後。

TOP

        靜思自在 : 【生命在呼吸間】佛陀說:「生命在呼吸間。」人無法管住自己的生命,更無法擋住死期,讓自己永住人間。既然生命去來這麼無常,我們更應該好好地愛惜它、利用它、充實它,讓這無常、寶貴的生命,散發它真善美的光輝,映照出生命真正的價值。
返回列表 上一主題