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

For i = 1 To 10

の1から10までという記述を
セルに記入してある値をひらうようにするには
どのようにすればよいのでしょうか?

For i = "A1" To "B1"
としてみましたが、うまくいきませんでした。

分かりにくい質問で申し訳ありません。

A 回答 (5件)

既にhana-hana3さんが仰ってますが、私も変数に格納しておくのが良いと思います。


これでしたら、変数に格納した段階のセルA1・B1の値がループ制御に使用されるので、その後セルA1・B1の値を変更してしまっても問題ありません。

intA1 = Range("A1").Value
intB1 = Range("B1").Value

For i = intA1 To intB1
 (処理内容)
Next i
    • good
    • 0
この回答へのお礼

勉強不足の私に、丁寧に答えていただいてありがとうございました。

思っていたとおりの動きができました。

お礼日時:2005/06/20 16:37

失礼しました。

訂正です。
For i=Range("A1").Value To Range("B1").Value
Next i

もうお分かりですね。
    • good
    • 0
この回答へのお礼

VBAのことがまだよく分かっていませんでした。

様々な表記ができることがよくわかり勉強になりました。

お礼日時:2005/06/20 16:39

For i=Range.("A1").Value To Range.("B1").Value


Next i

この回答への補足

早速試してみましたが、
そのまま書いてみると、
(書いた直後に)コンパイルエラー
識別子または角かっこで囲む必要がある名前が含まれています。

角カッコにすると実行したときに
コンパイルエラー
とでてRangeが反転しました

補足日時:2005/06/20 13:47
    • good
    • 0

>"A1"



では、A1 という文字の意味です。

セルの値を取得するには、#1さんの書かれたように Cells() を使うか、Range("A1") としてください。

また、For文 実行に別のシートがアクティブになる場合は、別のシートの値を拾ってしまうので注意してください。
できれば、For文 実行前に変数に格納した方が良いかと思います。
    • good
    • 1

なにをしたいのがいまひとつわからないのですが、セルの内容は Cells(行,列).value で取り出します。

    • good
    • 0

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