「みんな教えて! 選手権!!」開催のお知らせ

ActiveCell.FormulaR1C1 に変数を用いたいのですがうまくいきません。

For i=0 To 5
ActiveCell.FormulaR1C1 = "=-R["&n&"]C[-2]-100"
next i

としたのですがどこが間違っているのでしょうか?
R1の1を変数にしたいです。よろしくお願いします。

A 回答 (1件)

> ActiveCell.FormulaR1C1 = "=-R["&n&"]C[-2]-100"


この構文の「n&」という部分が、「Long型の変数 n」として解釈されるため構文エラーとなります。

ActiveCell.FormulaR1C1 = "=-R[" & n & "]C[-2]-100"

このように & の左右に半角スペースを入れればエラーは出ません。

演算子の左右には半角スペースを置く習慣をつけるとよいです。(VBAが勝手になおしますけどね)
A=X+Y ではなく A = X + Y


ただ、ご提示されたコードのみを見ると、これで解決できるかは不明です。もしこれ以外に修正が必要なようでしたら、どのような結果を期待してコードを書いているかも教えて下さい。
    • good
    • 1
この回答へのお礼

半角を入れたら出来ました!
サイトとかをいろいろ探したんですが半角スペースのことは
書いてなかったのでさっぱりわかりませんでした。
Wizard_Zero様、ありがとうございました。
VBA初心者なもので、また質問することがあると思いますが、
よろしくお願いします。

お礼日時:2009/11/13 08:45

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

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


おすすめ情報

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