Excel VBA質問箱 IV

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

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


21325 / 76732 ←次へ | 前へ→

【60808】Re:[無題]
発言  kanabun  - 09/3/16(月) 16:36 -

引用なし
パスワード
   ▼新参者2 さん:

> t = sh2.Cells(4, 2).Value
> u = 2
> If u <= t * 4 Then
>   For w = u To 4 * t
>     u = u + 4
>   Next w
>
> Else
>  MsgBox "値がおかしいです。"
> End If

ここの
>   For w = u To 4 * t
の部分だけとりだすと、↓こういう構文になります。
Sub Test1()
 Dim t As Long
 Dim w As Long
 Dim u As Long
 t = 4 'かりに t = 4 とする
 u = 2
 For w = u To t * 4
   Debug.Print "w="; w, "u="; u
   u = u + 4
 Next
End Sub
これを実行すると、イミディエイト・ウィンドウに こう表示されます。

w= 2     u= 2
w= 3     u= 6
w= 4     u= 10
w= 5     u= 14
w= 6     u= 18
w= 7     u= 22
w= 8     u= 26
w= 9     u= 30
w= 10     u= 34
w= 11     u= 38
w= 12     u= 42
w= 13     u= 46
w= 14     u= 50
w= 15     u= 54
w= 16     u= 58


▼実際は uを初期値2 から Step 4 づつ 回したいのではないですか?
Sub Test2()
 Dim t As Long
 Dim u As Long
 t = 4
 For u = 2 To t * 4 Step 4
   Debug.Print "u="; u
 Next
End Sub
----------------- イミディエイト・ウィンドウの出力
u= 2
u= 6
u= 10
u= 14
1 hits

【60781】[無題] 新参者 09/3/14(土) 3:47 質問
【60782】Re:[無題] 横入り 09/3/14(土) 7:35 発言
【60807】Re:[無題] 新参者2 09/3/16(月) 14:42 発言
【60808】Re:[無題] kanabun 09/3/16(月) 16:36 発言
【60809】Re:[無題] 新参者3 09/3/16(月) 17:34 発言
【60811】Re:[無題] kanabun 09/3/16(月) 17:49 発言
【60813】Re:[無題] 新参者4 09/3/16(月) 18:04 発言
【60821】Re:[無題] 新参者5 09/3/17(火) 0:48 質問
【60825】Re:[無題] kanabun 09/3/17(火) 9:43 発言
【60829】Re:[無題] 新参者4 09/3/17(火) 13:47 お礼
【60830】Re:[無題] 新参者6 09/3/17(火) 14:08 発言
【60831】Re:全体の流れを確認しましょう kanabun 09/3/17(火) 14:24 発言
【60832】Re:全体の流れを確認しましょう kanabun 09/3/17(火) 15:00 発言
【60843】Re:全体の流れを確認しましょう 新参 09/3/17(火) 17:48 回答
【60844】Re:全体の流れを確認しましょう kanabun 09/3/17(火) 18:17 発言
【60810】Re:[無題] 新参者3 09/3/16(月) 17:39 発言

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