こんばんは
VBS・・に限ったことじゃないかもしれませんが、プログラミングにおける、条件分岐(IF、Select文)についての正しい知識を教えて頂きたいです。
IF文、Select文の処理がどのように行われているかについてです。
①上から順番に条件式の判定が行われ、合致した後は最後までスキップされる?
②上から順番に条件式の判定行われ、合致した後も1行ずつ進んでいく?
③全体の条件式を判定した後、合致するものまで戻り処理を行い、最終行までスキップされる?
④その他
また、変数を条件式に指定し、処理内容で変数を別の値や文字に変えた場合、途中の変数の状態はどのようになっているのでしょうか?
すなわち、極端な例で書きますが
0001:Dim i
0002:i = 0
0003:IF i = 0 then ←条件に合致するので処理後、iは1となりますが、その後は
0004:i = i + 1 行9999に飛ぶのでしょうか、それとも行4から順に下へと進んで いくのでしょうか
0005:ElseIF i = 1 then ←行4により、iは1となっているが、ここの式の判定は行われない?
0006:i = i + 1 それとも、iは元の値0して判定が行われている?
0007:ElseIF i = 2 then
・
・
9999:End IF
よろしくお願いします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
vbsに限った話ですけど、vbsでは変数の宣言にデータ型を指定できません。
最適と思われるモノがその都度採用されます。
dim v
msgbox typename(v)
v=1
msgbox "v=1 " & typename(v)
v=v*100000
msgbox "v*100000 " & typename(v)
v=v/1
msgbox "v/1 " & typename(v)
v=v & "a"
msgbox "v & ""a"" " & typename(v)
No.2
- 回答日時:
> VBS・・に限ったことじゃないかもしれませんが、プログラミングにおける、条件分岐(IF、Select文)についての正しい知識を教えて頂きたいです。
If文は同じかもしれませんが、少なくともSelect文(に相当する文)は言語によって動作が異なります。
ですから、プログラムの各箇所で状態を表示させて確認してみては如何でしょうか。
---test.vbs------------------
Dim i
i = 0
IF i = 0 Then
i = i + 1
MsgBox "Thenを通過、i=" & i
ElseIf i = 1 Then
i = i + 1
MsgBox "最初のElseを通過、i=" & i
ElseIf i = 2 Then
i = i + 1
MsgBox "2番目のElseを通過、i=" & i
Else
MsgBox "最後のElseを通過、i=" & i
End IF
MsgBox "終了、i=" & i
No.1
- 回答日時:
ifまたはelseifの条件が真で、then部が実行される場合は、次のelseまたはelseifまたはend ifに達したら、end if の次に飛びます。
selectの場合も同様。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセル VBA 難しいです 1 2023/02/21 15:39
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Java Java 南京錠 2 2023/02/04 11:46
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Excel(エクセル) マクロ、条件付き書式のfont.color 1 2023/03/28 01:10
- Visual Basic(VBA) VBA初心者です。 VBAで行単位で条件付き書式の色をカウントしたいです。 大量のデータがあるExc 3 2022/06/08 10:02
- Visual Basic(VBA) VBA初心者です。 VBAで行単位で条件付き書式の色をカウントしたいです。 大量のデータがあるExc 3 2022/06/08 10:00
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2023/05/23 16:28
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「ご処理進めて頂きますようお...
-
エクセルで、日付を入力すると...
-
VBAでループ内で使う変数名を可...
-
switch の範囲指定
-
【Excel】特定の文字を含むセル...
-
Do~Loopした回数をカウントしたい
-
VBの質問#if 0 then ってどう...
-
EXCEL VBA マクロ 実行する度に...
-
DoEventsがやはり分からない
-
メルカリのメルカードで買い物...
-
インタラクティブの反対語は?
-
リョウ・・・量?料?
-
2重のDo~Loopは?
-
VB.NET Excelを読み込んでDataT...
-
FFTの結果ついて
-
タッチパッドはチャタリングは...
-
C# 画面のちらつきを解消したい
-
セルの値が0はクリアするマクロ
-
VBA SaveChanges 上書きされない
-
UMLでの例外処理
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「ご処理進めて頂きますようお...
-
メルカリのメルカードで買い物...
-
エクセルで、日付を入力すると...
-
VBAでループ内で使う変数名を可...
-
【Excel】特定の文字を含むセル...
-
EXCEL VBA マクロ 実行する度に...
-
switch の範囲指定
-
DoEventsがやはり分からない
-
VBの質問#if 0 then ってどう...
-
UMLでの例外処理
-
Do~Loopした回数をカウントしたい
-
VB.NET Excelを読み込んでDataT...
-
月度は何て読みますか?
-
findは動くがfindnextがマクロ...
-
リョウ・・・量?料?
-
iD
-
VBA SaveChanges 上書きされない
-
Select Case文でこのようなこと...
-
Loadイベント中にほかのイベン...
-
セルの値が0はクリアするマクロ
おすすめ情報