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 に答える