こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

Excel VBAのFormulaでアプリケーションエラーが発生。

Excel VBAのFormulaでアプリケーションエラーが発生。
フォーマットが統一された複数のExcelBookから特定の値を別のbookに一覧化するマクロを作成中ですが、エラーで止まり原因も分かりません。
for文で回してますが、エラーとなったコードをほぼそのまま書くと下記のような形です。

Cells(i, j).Formula = _
"=[" & Cells(i, 3).Value & "\]test!" & Cells(2, j).Value

上記の文字列「test」はbookのシート名です。
Cells(i, 3).Valueには
 「C:\tmp\testbook.xls」
のようなbookのパスを
Cells(2, j).Valueには
 「A1」
のようなセル位置の文字列を記載し、
 ='C:\tmp\[testbook.xls]test'!$A$1
という関数を代入したいのですが冒頭の通り、エラーで先に進まず原因も不明です。
対処方法を教えて頂ければと思います。

上記の関数をExcelに貼り付ければちゃんと値を表示します。
また、VBAのウォッチウィンドウでも関数は認識している様ですが、
Excelへの代入だけできません。

ちなみにCells(i, j).FormulaではなくCells(i, j).Valueでもダメでした。

非常に困っています。よろしくお願いします。

投稿日時 - 2010-07-06 15:43:54

QNo.6019530

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

7人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

> ='C:\tmp\[testbook.xls]test'!$A$1
> という関数を代入したいのですが冒頭の通り、エラーで先に進まず原因も不明です。

今のコードでは、
=[C:\tmp\testbook.xls]test!A1
と言う全然違う式を代入しようとしています。
最後の$A$1はA1のままでも良いですが、パスとブック名は正しく直してください。

エラー内容の提示がありませんでしたので、まったく別な問題の可能性はありますが……。

投稿日時 - 2010-07-06 16:23:14

お礼

早速ありがとうございます。
すみません。完全に早とちりしてました。
正しい関数にしたら上手く行きました。

ありがとうございます。

投稿日時 - 2010-07-06 16:58:38

あなたにオススメの質問