2009-07-03 57 views
0

我有下面的代码仰望这在一个单独的表在Excel 2000中出现的值日期:错误1004插入时查找公式

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

这种失败,错误1004,这似乎做一个完整的捕捉所有。真正的动力是,如果我在值的等号前面插入刻度标记,如"'=lookup(",它工作正常,如果我以后手动删除刻度标记,则公式将起作用。那为什么它拒绝插入?

回答

2

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

+0

哈哈我因为这个看了几个小时......我们应该怎么称呼它?错误? MS Mischief? – 2016-03-18 09:37:08

0

你需要指定它作为公式

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

不,试过了。 – l0b0 2009-07-03 09:37:26