将VBA转换为VBScript以删除列中的重复项

时间:2015-08-20 19:05:04

标签: excel vbscript

我在Excel文件中有一张工作表,我要在其中删除第1列中的重复值。在Excel中,当您在数据下单击时,它具有此功能,然后在名为“代码”的列上删除重复项,这是第一列。我试图将其翻译为VBScript,不确定如何。我尝试录制一个宏来获取VBA语法,但它与VBScript不同。我从录制的宏中获得的代码是

Sub Macro1()
    Columns("A:A").Select
    ActiveSheet.Range("$A$1:$K$523").RemoveDuplicates Columns:=1, Header:=xlYes
End Sub

1 个答案:

答案 0 :(得分:3)

您无法在VBScript中使用命名参数。您只需按正确的顺序提供参数,因为它们出现在函数声明中。此外,您无法先使用Excel常量(xlNoxlYes等)而无需先自己定义它们。

对于RemoveDuplicates()函数,VBScript等价物看起来像(假设objExcel是您的应用程序对象):

objExcel.ActiveSheet.Range("$A$1:$K$523").RemoveDuplicates 1

由于ColumnsRemoveDuplicates()的第一个参数。如果要指定标题行,它将如下所示:

Const xlYes = 1
objExcel.ActiveSheet.Range("$A$1:$K$523").RemoveDuplicates 1, xlYes