看板 Office 關於我們 聯絡資訊
※ 引述《Lazulite (Trade Off)》之銘言: : ※ 引述《kalli (沒有硝煙的戰場)》之銘言: : : (若是和其他不同軟體互動之問題 請記得一併填寫) : : 您所使用的軟體為: : : 版本:2007 : : 問題: : : 現在正在整理一批上萬筆相當混雜的資料,使用200版7內建的"移除重複"指令 : : 可以順利移除單一欄內的重複值,不過當選擇複數欄再執行"移除重複"指令, : : 就會發生某些欄仍然會有重複值的情況(規律不太確定,似乎跟第一欄有關) : : 例如:各欄位的資料完全不同,僅以數字簡述(A的1不等於B的1) : : A B C D E F A B C D E F : : 1 1 2 4 3 1 1 1 2 4 3 1 : : 1 2 2 7 5 2 逐欄執行 2 2 4 7 5 2 : : 1 2 4 7 3 5 --------> 4 4 5 2 1 5 : : 2 4 5 7 1 5 3 6 : : 2 4 5 4 3 6 3 : : 4 3 5 2 3 3 : : |全 : : |選 : : |執 : : |行 : : V : : A B C D E F : : 1 1 2 4 3 1 : : 2 2 4 7 5 2 : : 4 2 5 7 3 5 : : 4 5 7 1 5 : : 3 5 2 3 6 : : 3 : : 想請問是否有辦法以巨集執行VBA,讓他以欄為單位,自動刪除完該欄重複資料後, : : 跳至下一欄執行重複動作,直到沒有下一欄為止? : : 感謝 : ______________________VBA for Office 2007 only____________________ : Sub test() : end_column = WorksheetFunction.CountA(Range("1:1")) : For i = 1 To end_column : Range(Cells(1, i), Cells(148576, i)).RemoveDuplicates Columns:=1, Header:=xlNo : Next i : End Sub A B C D E F 1 1 1 2 4 3 1 2 1 2 2 7 5 2 3 1 2 4 7 3 5 4 2 4 5 7 1 5 5 2 4 5 4 3 6 6 4 3 5 2 3 3 7 8 A B C D E F 9 <>"" <>"" <>"" <>"" <>"" <>"" Sub test() For i = 1 To 6 Set myData = Range(Cells(1, i), Cells(7, i)) Set myCrit = Range(Cells(9, i), Cells(10, i)) Set myDest = Range(Cells(13, i).Address) myData.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=myCrit, CopyToRange:=myDest, Unique:=True Next i End Sub -- 養花種魚數月亮賞星星 http://cydye1069.blogspot.com -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.13.193.54 ※ 編輯: chungyuandye 來自: 118.232.166.240 (07/30 16:20)