• ベストアンサー

For構文に入りうる変数を指定する方法

通常、For構文は処理の回数を指定しますよね。 回数ではなく、入りうる変数を全て指定した上で、処理をループさせる方法はあるんでしょうか。もしあったら教えて下さい。 イメージとしては↓な感じです。(イメージなのでかなり適当です。すみません。) For i = 1,4,5,6,12,13 Cells(i+5 ,2).Value = 3 next i

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

Dim value(5) As Integer value(0) = 1 value(1) = 4 value(2) = 5 value(3) = 6 value(4) = 12 value(5) = 13 For i = 0 To UBound(value) Cells(value(i) + 5 ,2).Value = 3 Next みたいにすればいいのでは。 あなたがイメージしているような都合のいいループはStep句で三項演算子を利用してもできませんし、 できたとしてもわけわからないので、やめた方がいいでしょう。

tukutukuhosi
質問者

お礼

ありがとうございます。非常にわかりやすく、助かりました。

その他の回答 (1)

回答No.1

For Each i In Array(1,4,5,6,12,13) の形式じゃだめなんですか? 知らなくても ・For i = 1,4,5,6,12,13とやりたい ↓ ・配列でできないだろうか ↓ ・「vba for 配列」で検索 ↓ ・「For Each」ならできると知る ってなると思うんですけど。 もし、例で言う「1,4,5,6,12,13」が、Forで回したいものなのに配列になるように持って来れないなら、そこにいたるまでの処理がだめなのでそっちを考え直しましょう。

tukutukuhosi
質問者

お礼

なるほど、配列というものがあるんですね。すみません配列という単語自体初めて聞くものだったので、検索方法がわかりませんでした。

関連するQ&A