excel利用宏自动选择下一列 如何让下面的程式中自动将A修改成B,然后B修改成C如此递加列

Columns("A:A").Select
ActiveSheet.Range("$A$1:$A$15").RemoveDuplicatesColumns:=1, Header:=xlNo
Columns("B:B").Select
ActiveSheet.Range("$B$1:$B$15").RemoveDuplicatesColumns:=1, Header:=xlNo
Columns("C:C").Select
ActiveSheet.Range("$C$1:$C$15").RemoveDuplicatesColumns:=1, Header:=xlNo
Columns("D:D").Select
ActiveSheet.Range("$D$1:$D$15").RemoveDuplicatesColumns:=1, Header:=xlNo
Columns("E:E").Select
ActiveSheet.Range("$E$1:$E$15").RemoveDuplicatesColumns:=1, Header:=xlNo
Columns("F:F").Select
ActiveSheet.Range("$F$1:$F$15").RemoveDuplicatesColumns:=1, Header:=xlNo
Columns("G:G").Select
ActiveSheet.Range("$G$1:$G$15").RemoveDuplicates Columns:=1,Header:=xlNo
Columns("H:H").Select
ActiveSheet.Range("$H$1:$H$15").RemoveDuplicates Columns:=1,Header:=xlNo

第1个回答  2014-10-16
方法大致这样:
for i=1 to .cells(1,columns.count)
Columns("A:A").offset(0,i-1).Select
ActiveSheet.Range("$A$1:$A$15").offset(0,i-1).RemoveDuplicatesColumns:=1, Header:=xlNo
next i追问

出错
无效或不合格的引用

追答

用下面的代码:(刚测试过)----引起出错的原因,是因为你的源代码粘贴上来出了问题。

Sub 宏1()
For i = 1 To Cells(1, Columns.Count).End(xlToLeft).Column
    ActiveSheet.Range("$A$1:$A$15").Offset(0, i - 1).RemoveDuplicates Columns:=1, Header:=xlNo
Next
End Sub

本回答被提问者和网友采纳
相似回答