Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


2628 / 13646 ツリー ←次へ | 前へ→

【66827】2重for ループ内のif条件文 VBA初心者 10/10/8(金) 13:59 質問[未読]
【66828】Re:2重for ループ内のif条件文 kanabun 10/10/8(金) 14:13 発言[未読]
【66829】Re:2重for ループ内のif条件文 UO3 10/10/8(金) 15:05 発言[未読]
【66848】Re:2重for ループ内のif条件文 VBA初心者 10/10/10(日) 23:19 お礼[未読]

【66827】2重for ループ内のif条件文
質問  VBA初心者  - 10/10/8(金) 13:59 -

引用なし
パスワード
   以下のようなiとjの2重ループがあり、
iの計算後、ある条件では、続きのiを計算せずに
次のjに移るような計算をしたいと考えています。
このままでは、対応するforがないとエラーが出ます。
解決方法を教えていただけますでしょうか。

For j=0 to 100
i=j+1
For i=0 to 10

x=x+i^2

if x>5 then
next j

else
next i

end if

【66828】Re:2重for ループ内のif条件文
発言  kanabun  - 10/10/8(金) 14:13 -

引用なし
パスワード
   ▼VBA初心者 さん:

>iの計算後、ある条件では、続きのiを計算せずに
>次のjに移るような計算をしたい

こうかな?

For j = 0 to 100
  i = j + 1
  For i = 0 to 10
   x = x + i*i
   if x>5 then Exit for

  Next i

Next j

しっかし、インデントがないと 構文が読みにくいですね〜(--)

それから i^2
は i * i
に直してあります。

【66829】Re:2重for ループ内のif条件文
発言  UO3  - 10/10/8(金) 15:05 -

引用なし
パスワード
   ▼VBA初心者 さん:

こんにちは

コメントしようとしたら、kanabunさんがまったく同じことをアドバイス
されていました。

インデントは是非!
ご自分のコードとkanabunさんのコード、見比べてみてください。
どちらが、ループ処理含めたロジック構造を理解しやすいでしょうか。

●ところで、最初のForの下に i=j+1 がありますね。
 で、その下に For i=0 to 10 がありますから i は、ここで 0 になります。
 ということは、i=j+1 は、まったく無意味ということですが?

 

【66848】Re:2重for ループ内のif条件文
お礼  VBA初心者  - 10/10/10(日) 23:19 -

引用なし
パスワード
   アドバイスをいただいたおかげで無事に解決できました。
インデントはうまく使えるように、練習したいと思います。

ありがとうございました。

2628 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free