- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルマクロエラー「'Cells'メソッドは失敗しました。'_Global'オブジェクト」について)
Excelマクロエラー「'Cells'メソッドは失敗しました。'_Global'オブジェクト」について
このQ&Aのポイント
- Excel 2000のマクロで、特定のセルに関数を設定する際に「'Cells'メソッドは失敗しました。'_Global'オブジェクト」というエラーが発生することがあります。
- このエラーは、マクロ内でのCellsメソッドの呼び出しの失敗を示しています。
- 原因としては、マクロ内でのセルの参照方法やオブジェクトのスコープの問題が考えられます。エラーが発生する原因は様々であり、具体的な原因を特定するためには、マクロのコード全体を確認する必要があります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
#1です。 > Worksheets("Sheet1") ).Selectとなっていて、 > いきなり、Range・・・ > だったのがいけなかったのでしょうか。 この場合 Range より、次に続く Cells に対するオブジェクトの指定が重要だと思っています。 経験上そう感じているだけなので、何故かは説明出来ませんが、、、
その他の回答 (1)
- papayuka
- ベストアンサー率45% (1388/3066)
回答No.1
推測ですが、対象オブジェクトを見失う事があるようです。 With Worksheets("Sheet1") .Range(.Cells(126, 20), .Cells(155, 19 + 2 * _ 変数%)).FormulaR1C1 = _ "=(RC[-18]-R[-1]C[-18])/0.04*100" End With のようにWithで括る( . が重要)などして明示的に指定してあげると大丈夫だと思います。
質問者
補足
ありがとうございます!! 非常に困っていていましたので、ずっと待っていました。 オブジェクトの指定がされていなかったみたいです。 Worksheets("Sheet1") ).Select となっていて、 いきなり、Range・・・ だったのがいけなかったのでしょうか。 解決できるか実施してみます。
お礼
すみません。"."を見落としていました! Cellsの前に"."をつけ、実行してみましたところ、うまくいきました! ありがとうございました。
補足
With Worksheets(Sheetname$) .Range(Cells(126, 20), Cells(155, 19 + _ 2 * 変数%)).FormulaR1C1 = _ "=(RC[-18]-R[-1]C[-18])/0.04*100" End With として、再実行してみましたが(数式は、若干変更しました)、同様のエラーがでてしまいました。。他に、なにか策はありますでしょうか。 Sheetname$や、変数%には、ちゃんと値が入っているようです。