使用运行“索引”公式时,Excel VBA,错误代码1004

时间:2017-04-03 17:22:58

标签: excel vba excel-vba

我用下面的代码编写了一段宏,但是下面有一些问题:

代码:

Dim OldSMIWB As Workbook
...
Selection.FormulaR1C1 = _
"=INDEX('[" & OldSMIWB.Name & "]SMI Data'!C1:C60,MATCH(RC1,'[" & OldSMIWB.Name & "]SMI Data'!C1,0),MATCH(R1C,'[" & OldSMIWB.Name & "]SMI Data'!R1,0))"
...

错误讯息:

  

运行时错误'1004':

     

应用程序定义或对象定义的错误

任何人都可以帮助我吗?

赞赏!

1 个答案:

答案 0 :(得分:0)

由于您的工作簿名称包含撇号('),因此在将其包含在公式中时,需要对撇号进行转义:

Dim OldSMIWBName As String
OldSMIWBName = Replace(OldSMIWB.Name, "'", "''")
Selection.FormulaR1C1 = _
    "=INDEX('[" & OldSMIWBName & "]SMI Data'!C1:C60,MATCH(RC1,'[" & OldSMIWBName & "]SMI Data'!C1,0),MATCH(R1C,'[" & OldSMIWBName & "]SMI Data'!R1,0))"
相关问题