将VBA翻译成VBScript以删除列中的重复项
我在Excel文件中有一个工作表,我想从列1中删除重复的值。在Excel中,当您单击“数据”下的“删除重复项”,然后在名为“代码”的列上删除重复项时,该function将成为第一列。 我试图把这个翻译成VBScript,不确定如何。 我试图录制一个macros来获取VBA语法,但是对于VBScript来说却不一样。 我从logging的macros获得的代码是
Sub Macro1() Columns("A:A").Select ActiveSheet.Range("$A$1:$K$523").RemoveDuplicates Columns:=1, Header:=xlYes End Sub
在VBScript中不能使用命名参数。 你只需要以正确的顺序提供参数,就像它们出现在函数声明中一样。 你也不能使用Excel的常量( xlNo
, xlYes
等),而无需先自己定义它们。
对于您的RemoveDuplicates()
函数,VBScript等价物看起来像(假定objExcel
是您的应用程序对象):
objExcel.ActiveSheet.Range("$A$1:$K$523").RemoveDuplicates 1
由于Columns
是RemoveDuplicates()
的第一个参数。 如果你想指定一个标题行,它将如下所示:
Const xlYes = 1 objExcel.ActiveSheet.Range("$A$1:$K$523").RemoveDuplicates 1, xlYes