我用下面的代码编写了一段宏,但是下面有一些问题:
代码:
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':
应用程序定义或对象定义的错误
任何人都可以帮助我吗?
赞赏!
贝
答案 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))"