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

Teo*_*off 1 vbscript excel

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

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

Bon*_*ond 5

不能在 VBScript 中使用命名参数。您只需按照函数声明中出现的正确顺序提供参数即可。此外,如果不先自行定义,您将无法使用 Excel 的常量(xlNo、等)。xlYes

对于您的RemoveDuplicates()函数,VBScript 等效项如下所示(假设objExcel是您的应用程序对象):

objExcel.ActiveSheet.Range("$A$1:$K$523").RemoveDuplicates 1
Run Code Online (Sandbox Code Playgroud)

由于Columns是 的第一个参数RemoveDuplicates()。如果你想指定一个标题行,它看起来像这样:

Const xlYes = 1
objExcel.ActiveSheet.Range("$A$1:$K$523").RemoveDuplicates 1, xlYes
Run Code Online (Sandbox Code Playgroud)