• 締切済み

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でもダメでした。 非常に困っています。よろしくお願いします。

みんなの回答

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.1

> ='C:\tmp\[testbook.xls]test'!$A$1 > という関数を代入したいのですが冒頭の通り、エラーで先に進まず原因も不明です。 今のコードでは、 =[C:\tmp\testbook.xls]test!A1 と言う全然違う式を代入しようとしています。 最後の$A$1はA1のままでも良いですが、パスとブック名は正しく直してください。 エラー内容の提示がありませんでしたので、まったく別な問題の可能性はありますが……。

greezeylray
質問者

お礼

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