2010年6月14日 星期一

Re: [問題] EXCEL刪除每欄的重複值

作者: chungyuandye (養花種魚數月亮看星星) 看板: Office
標題: Re: [問題] EXCEL刪除每欄的重複值
時間: Mon Mar 3 13:03:15 2008

※ 引述《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)

沒有留言:

張貼留言