ActiveSheet.Range错误800A0400(" $ A $ 1:$ CV $ 749")。RemoveDuplicates Columns:= 2,Header:= xlNo

时间:2016-03-28 00:31:46

标签: excel vbscript macros

Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
Set Excel2= objExcel.Workbooks.Open("D:\DBG\Temp.xlsm")
Excel2.Worksheets("output").Activate
ActiveSheet.Range("$A$1:$CV$749").RemoveDuplicates Columns:=2, Header:=xlNo

如果我尝试执行上面的代码,我会收到错误。提前谢谢

Line 35
Char 60
Error Expected statement
Code 800A0400

如何解决此问题

1 个答案:

答案 0 :(得分:1)

在VBS脚本中既不使用命名参数(例如Columns:=)也不使用Excel.Application常量(例如xlNo)。您在Range.RemoveDuplicates method中使用的参数(例如Columns:=Header:=)是唯一允许的参数,xlNo解析为2。

Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
Set Excel2= objExcel.Workbooks.Open("t:\tmp\Temp.xlsm")
Excel2.Worksheets("output").Activate
Excel2.ActiveSheet.Range("$A$1:$CV$749").RemoveDuplicates 2, 2

ActiveSheet property也需要引用其父Excel Application object