作者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)