找回密码
 加入
搜索
查看: 3461|回复: 5

[AU3基础] excel删除重复行

[复制链接]
发表于 2015-5-14 10:56:30 | 显示全部楼层 |阅读模式
用录制宏
ActiveSheet.Range("$A$1:$E$82").RemoveDuplicates Columns:=Array(1, 2, 4, 5), _
         Header:=xlNo
转换到au3,Columns:=Array(1, 2, 4, 5)处,不论怎么修改,要么出错,要么不能删重,请高手支招!
发表于 2015-5-14 14:55:57 | 显示全部楼层
本帖最后由 h20040606 于 2015-5-18 12:32 编辑

dim $columns=[1,2,4,5]
$oExcel.ActiveSheet.Range("$A$1:$E$82").RemoveDuplicates($columns,2)

谢谢xlj310
发表于 2015-5-14 14:57:13 | 显示全部楼层
参考一下说明:
下面是方法的说明
表达式.RemoveDuplicates(Columns, Header)
表达式   一个代表 Range 对象的变量。
参数
名称 必选/可选 数据类型 描述
Columns 可选 Variant 包含重复信息的列的索引数组。如果没有传递任何内容,则假定所有列都包含重复信息。
Header 可选 XlYes/No/Guess 指定第一行是否包含标题信息。xlNo 是默认值;如果希望 Excel 确定标题,则指定 xlGuess。
示例


以下代码示例从区域所有列中删除重复值。

Visual Basic for Applications
ActiveSheet.Range("A1:C100").RemoveDuplicates

以下代码示例删除前两列的重复值

Visual Basic for Applications
ActiveSheet.Range("A1:C100").RemoveDuplicates Columns:=Array(1,2), Header:=xlYes
发表于 2015-5-15 14:22:11 | 显示全部楼层
其实楼上两位都给出正确的思路了,相信楼主也懂其中道理了。只是都没有整出正确的代码来。
2楼的代码中仅仅是定义数组不对,程序肯定运行不了。
我把正确的代码写出来吧:
Dim $columns[] = [1, 2, 4, 5]
If IsObj($oExcel) Then $oExcel.ActiveSheet.Range("$A$1:$E$" & 82).RemoveDuplicates($columns, 2)

其中RemoveDuplicates($columns, 2)中$columns为删除重复值时依据的列,xlNo的值是2
发表于 2015-5-15 14:22:15 | 显示全部楼层
本帖最后由 xlj310 于 2015-5-15 14:27 编辑

如果问题已解决,请修改标题,在标题后加上文字 已解决
发表于 2015-5-17 11:26:36 | 显示全部楼层
谢谢分享哦
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-23 02:54 , Processed in 0.077605 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表