Board logo

標題: [發問] 如何標示未被取代的項目? [打印本頁]

作者: winston219    時間: 2010-12-10 09:49     標題: 如何標示未被取代的項目?

VBA程式中,如何再加入指令產生標記? 如附檔,麻請大大指點,謝謝![attach]4025[/attach]
作者: GBKEE    時間: 2010-12-10 12:39

本帖最後由 GBKEE 於 2010-12-10 12:42 編輯

回復 1# winston219
  1. Sub Ex()
  2. Dim A As Range, d As Object, Rng(1) As Range
  3. Set Rng(0) = Sheet2.Range(Sheet2.[A2], Sheet2.[A65536].End(xlUp))
  4. Set Rng(1) = Sheet1.Range(Sheet1.[A1], Sheet1.[A65536].End(xlUp))
  5. Set d = CreateObject("Scripting.Dictionary")
  6. For Each A In Rng(0)
  7.     d(A.Value) = Array(A.Offset(, 2).Value, A.Offset(, 1).Value)
  8. Next
  9. For Each A In Rng(1)
  10.     If d.exists(A.Value) = True Then
  11.         A.Offset(, 2).Resize(, 2) = d(A.Value)
  12.         d.Remove (A.Value)
  13.     End If
  14. Next
  15. For Each A In Rng(0)
  16.     If d.exists(A.Value) = True Then A.Cells(1, 4) = "未符合"
  17. Next
  18. End Sub
複製代碼

作者: winston219    時間: 2010-12-10 13:43

哇哈哈,謝謝GBKEE大大!
作者: aa7551    時間: 2010-12-10 22:59

請教gbkee版本,--A.Offset(, 2).Resize(, 2) = d(A.Value)--其中的resize,用說明查找沒找到,可否解答其用法,或是那裡有參考資料
作者: GBKEE    時間: 2010-12-11 09:03

回復 4# aa7551
在VBA視窗的說明 輸入Range 如圖

[attach]4037[/attach]

[attach]4038[/attach]
作者: aa7551    時間: 2010-12-11 14:33

謝謝不吝指教,趕快來學習




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)