我有以下代码来查找Excel 2000中单独工作表中出现值的日期:
sSheet.Range(dateColumn & pRow) = _
"=lookup(" & valColumn & pRow & ";'" & _
iSheet.Name & "'!" & tColumn & firstRow & ":" & tColumn & lastRow & ";'" & _
iSheet.Name & "'!" & dateColumn & firstRow & ":" & dateColumn & lastRow & ")"
这失败了,错误1004,这似乎是一个完整的全部。真正的踢球者是,如果我在值中等号之前插入刻度线,如"'=lookup("
中所示,它可以正常工作,如果我之后手动删除刻度线,则公式有效。那么为什么拒绝插入?
答案 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 & ")"