我在 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)
不能在 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)