插入查找公式时出现错误1004

时间:2009-07-03 08:28:35

标签: excel excel-vba excel-2000 vba

我有以下代码来查找Excel 2000中单独工作表中出现值的日期:

sSheet.Range(dateColumn & pRow) = _
    "=lookup(" & valColumn & pRow & ";'" & _
    iSheet.Name & "'!" & tColumn    & firstRow & ":" & tColumn    & lastRow & ";'" & _
    iSheet.Name & "'!" & dateColumn & firstRow & ":" & dateColumn & lastRow & ")"

这失败了,错误1004,这似乎是一个完整的全部。真正的踢球者是,如果我在值中等号之前插入刻度线,如"'=lookup("中所示,它可以正常工作,如果我之后手动删除刻度线,则公式有效。那么为什么拒绝插入?

2 个答案:

答案 0 :(得分:2)

原来问题是VBA在创建公式时不尊重本地化设置 - 我不得不使用逗号而不是分号来分隔查找函数参数。

答案 1 :(得分:0)

您需要将其指定为公式

sSheet.Range(dateColumn & pRow).Formula = _
"=lookup(" & valColumn & pRow & ";'" & _
iSheet.Name & "'!" & tColumn    & firstRow & ":" & tColumn    & lastRow & ";'" & _
iSheet.Name & "'!" & dateColumn & firstRow & ":" & dateColumn & lastRow & ")"