返回列表 上一主題 發帖

[發問] 多重不重覆資料抓取方式請問

[發問] 多重不重覆資料抓取方式請問

Dear  ALL 大大
1.SHEET1 資料如下
      A欄    B       C        D       E   
1列  名稱   版別  單位    註1    註2
2       麻     A     KG      11      22
3       麻     B       KG      33      44
4       黑     A       MM     55      66
5       麻     B       KG       77      88
.........
1.1 需求為  A.B.C 欄之 內容相同者算重覆.只取優先列之資料一筆
    以上資料為例  麻BKG 重覆  只取第一筆 麻BKG 整列資料至SHEET2 如下
      A欄    B       C        D       E   
1列  名稱   版別  單位    註1    註2
2       麻     A     KG      11      22
3       麻     B       KG      33      44
4       黑     A       MM     55      66

煩不吝賜教   THANKS*10000

是要這樣嗎?
test2.zip (20.46 KB)

TOP

本帖最後由 Hsieh 於 2017-11-29 15:29 編輯

回復 1# rouber590324

play.gif
若是版本較低沒有移除重複功能,試試
  1. Sub ex()
  2. Set d = CreateObject("Scripting.Dictionary")
  3. For Each a In Range([A1], [A1].End(xlDown))
  4. d(a & a.Offset(, 1) & a.Offset(, 2)) = a.Resize(, 5).Value
  5. Next
  6. [I1].Resize(d.Count, 5) = Application.Transpose(Application.Transpose(d.items))

  7. End Sub
複製代碼
學海無涯_不恥下問

TOP

dear  kim223824  與 Hsieh 大大
感謝指導. ok啦  thanks*10000

TOP

我想請教各大大...如果我想要的不是像版大取第一筆,而是要最後一筆....前者重覆的要刪除,那麼該如何改呢?

TOP

回復 5# phoebegin

請測試看看,謝謝
Sub test()
Set d = CreateObject("Scripting.Dictionary")
For Each a In Range([A1], [A1].End(xlDown))
If Not d.Exists(a & a.Offset(, 1) & a.Offset(, 2)) Then
d(a & a.Offset(, 1) & a.Offset(, 2)) = a.Resize(, 5).Value
End If
Next
[I1].Resize(d.Count, 5) = Application.Transpose(Application.Transpose(d.items))
End Sub

1.JPG (108.61 KB)

1.JPG

TOP

google"EXCEL迷"  blog  或google網址:https://hcm19522.blogspot.com/

TOP

太好了....

感謝兩位高手大大........

TOP

        靜思自在 : 不要隨心所欲,要隨心教育自己。
返回列表 上一主題