0

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

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

这失败并出现错误 1004,这似乎是一个完整的包罗万象。真正的关键是,如果我在值的等号之前插入一个刻度线,如 中"'=lookup(",它工作正常,如果我之后手动删除刻度线,公式有效。那么为什么拒绝插入呢?

4

2 回答 2

2

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

于 2009-07-03T09:38:16.957 回答
0

您需要将其指定为公式

sSheet.Range(dateColumn & pRow).Formula = _
"=lookup(" & valColumn & pRow & ";'" & _
iSheet.Name & "'!" & tColumn    & firstRow & ":" & tColumn    & lastRow & ";'" & _
iSheet.Name & "'!" & dateColumn & firstRow & ":" & dateColumn & lastRow & ")"
于 2009-07-03T08:42:40.823 回答