dポイントプレゼントキャンペーン実施中!

Excel 2000のマクロで教えてください。

あるセルに関数をいれるマクロを設定しております。

 変数% = 8

 Range(Cells(126, 20), Cells(155, 19 + 2 *
 変数%)).FormulaR1C1 =
 "=(RC[-18]-R[-1]C[-18])/0.04*100"

このマクロを走らせると、たまに、

「'Cells'メソッドは失敗しました。'_Global'オブジェクト」

という、エラーがでます。

どういう意味なのでしょうか。
うまくいくときもあるので、よくわかりません。
すみませんが、教えてください。

A 回答 (2件)

#1です。



> Worksheets("Sheet1") ).Selectとなっていて、
> いきなり、Range・・・
> だったのがいけなかったのでしょうか。

この場合 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$や、変数%には、ちゃんと値が入っているようです。

補足日時:2004/02/14 21:32
    • good
    • 0
この回答へのお礼

すみません。"."を見落としていました!
Cellsの前に"."をつけ、実行してみましたところ、うまくいきました!
ありがとうございました。

お礼日時:2004/02/14 21:48

推測ですが、対象オブジェクトを見失う事があるようです。



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・・・
 だったのがいけなかったのでしょうか。

解決できるか実施してみます。

補足日時:2004/02/14 18:18
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A