- 帖子
- 45
- 主題
- 10
- 精華
- 0
- 積分
- 59
- 點名
- 0
- 作業系統
- Win7
- 軟體版本
- Office 2007
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2014-2-6
- 最後登錄
- 2019-6-22

|
回復 10# 准提部林
同意淮提部林前輩所言,
也請允許小弟冒昧提點看法,發言有不當處請不吝指正,小弟一定改進.
小弟以為,
提供附檔的理由之一在於解答者不需再手動自己鍵入資料去進行測試,省去麻煩.
板上前輩願意無償提供解答,提問的板友提供附檔,應不是太大困難.
理由之二在於有時不提供附檔,真的容易造成誤會,因每人想事情看事情的角度不同,
若有附檔,可能會更易理解問題所在.
其實前面回文已有不少高手前輩們回覆精妙解答,
未能答到板友想要的效果,可能就是無附檔之故導致產生對問題的誤解,
若有提供附檔,想必能免去此一遺憾.
以上所言僅供參考,不當處請海涵.
小弟斗膽,
附上小弟修改自淮提部林前輩所寫之程式碼後的版本及檔案,絕非小弟所原創,特此聲明.
vba功力太差,改得不好,希望有所幫助,有不當處也請前輩們務必指點一二,感謝.
本想寫註解,但因目前對前輩所寫的原本程式碼還不敢說已有充分的理解,
有時是知其然而不知其所以然,寧可先不寫,以免有誤導板友之嫌,請見諒...- '此程式碼修改自麻辣家族討論區excel高手淮提部林前輩所寫,非我自創.
- '討論區網址:http://forum.twbts.com/index.php
- Sub test()
- Dim arr, brr, myD, N, T
- Set myD = CreateObject("scripting.dictionary")
- arr = Range("a2:d" & Cells(Rows.Count, 1).End(xlUp).Row)
- ReDim brr(1 To UBound(arr), 1 To 4)
- N = 1
- For i = 1 To UBound(arr)
- T = arr(i, 2) & arr(i, 3) & arr(i, 4)
- If myD(T) = 1 Then GoTo 101
- For j = 1 To 4
- brr(N, j) = arr(i, j)
- Next j
- N = N + 1
- myD(T) = 1
- 101:
- Next i
- If N > 0 Then [h2].Resize(N, 4) = brr
- End Sub
複製代碼
2-2 (多欄資料)多欄資料皆相同才刪除重複橫列.zip (9.44 KB)
|
|