關於vb巢狀塊if語句的問題,關於VB巢狀塊IF語句的問題

2021-12-19 14:47:09 字數 5342 閱讀 7773

1樓:網海1書生

private sub form_click()score = val(inputbox("輸入成績"))if score >= 60 then

if score >= 85 then

st = "優秀"

else

st = "合格"

end if

else

st = "不合格"

end if

print st

end sub

2樓:司經賦庚妃

ifscore>=60

then

....

else

ifscore>=85

then

....

else

.....

endif

print

st>60

的當然不會小於49,巢狀以後,輸入49

當然就不顯示了,因為49<60

在最外層的if語句就被排除了。不會執行if內部的語句了。

3樓:歸萱

private sub form_click()dim score, st

score = inputbox("輸入成績")if isnumeric(score) thenscore = val(score)

else

msgbox "輸入一個有效的數字!"

exit sub

end if

if score >= 60 then

if score > 100 then

st = "無效的分數"

elseif score >= 85 thenst = "優秀"

else

st = "合格"

end if

else

if score < 0 then

st = "無效的分數"

else

st = "不合格"

end if

end if

print st

end sub

4樓:匿名使用者

因為你把

if score < 60 then

st = "不合格"

end if

這段寫在了最後一個end if裡面。只要把那段程式和輸出語句寫拉出到你現在的最後一個

end if之後就可以了。

寫巢狀格式的時候一定要注意。

5樓:扣

因為少了一個end if

關於vb中if 語句的巢狀問題

6樓:【都市精靈

標準的if格式你應該知道吧 我就不說了 只說一下巢狀

在一次if判斷裡,可以巢狀無數個子if判斷(我沒遇到過巢狀到頂的情況),無非是在then後或else後進行巢狀,因為互不影響 所以我就合起來說了:

if [真假判斷語句] then

*** '星號表示其餘的**

if [巢狀的真假判斷語句1] then

[巢狀中if成立 執行的**]

else '可以不要 看情況

[巢狀中if不成立 執行的**]

end if

*** 』星號表示其餘的**

else if [巢狀的真假判斷語句2] then '這裡的if可以跟在if後(加個空格),另起一行也行。如果在巢狀前還有別的**需要執行的話,就參照上面所寫的進行巢狀。

end if '如果if另起一行的話,要兩個end if,否則只要一個

注:注意巢狀的時候最好 用空格 把子判斷推後幾格,看著舒服。頂格寫也行,就是看著亂。

【哥們兒 這可全是我一個字一個字地打的啊~您就給個辛苦費吧~呵呵 有不懂的再通過 補充 問我】

7樓:

if 條件為真 then

執行語句

end if(判斷結束)

if a=3 then

if b=2 then

if c=7 then

if d=8 then

以上條件都成立的時候執行下邊一段話

.....執行**並結束這個判斷

(假如d=5,則執行下邊的**)

else

...........執行**

end if (這裡是結束d=8 這個條件的)end if(這裡是結束c=7這個條件的)end if(這裡是結束b=2這個條件的)end if(這裡是結束a=3這個條件)

希望這樣你可以看的懂

8樓:南極胖熊

if *** then

***else ***

end if

if *** then

***else if *** then

***end if

end if

vb if語句的巢狀

9樓:匿名使用者

if 1 then

if 1 then

print 111

endif

endif

if 1 then

if 1 then print 111

endif

在vb中如何簡化過多巢狀的if語句?

10樓:匿名使用者

何必用vb,直接操作就可以,選定a5到b100,假設100行資料,然後-編輯-定位-定位條件的空值,然後在編輯欄內輸入 = ,最後按ctrl+回車即可

11樓:匿名使用者

if b(e) <= 10 then

s1 = s1 + 1

elseif b(e) <= 20 thens2 = s2 + 1

elseif b(e) <= 50 thens3 = s3 + 1

elseif b(e) <= 100 thens4 = s4 + 1

elseif b(e) <= 1000 thens5 = s5 + 1

elseif b(e) <= 10000 thens6 = s6 + 1

elseif b(e) <= 100000 thens7 = s7 + 1

end if

12樓:寒信

方法一if b(e) <= 10 then

s1 = s1 + 1

elseif b(e) <= 20 thens2 = s2 + 1

elseif b(e) <= 50 thens3 = s3 + 1

elseif b(e) <= 100 thens4 = s4 + 1

elseif b(e) <= 1000 thens5 = s5 + 1

elseif b(e) <= 10000 thens6 = s6 + 1

elseif b(e) <= 100000 thens7 = s7 + 1

end if

方法二版

權select case b(e)

case <= 10

s1 = s1 + 1

case 10 to 20

s2 = s2 + 1

case 20 to 50

s3 = s3 + 1

case 50 to 100

s4 = s4 + 1

case 100 to 1000

s5 = s5 + 1

case 1000 to 10000

s6 = s6 + 1

case 10000 to 100000

s7 = s7 + 1

end select

vb中if巢狀語句

13樓:baby_原來

if 條件為真 then

執行語句

end if(判斷結束)

if a=3 then

if b=2 then

if c=7 then

if d=8 then

以上條件都成立的時候執行下邊一段話

.....執行**並結束這個判斷

(假如d=5,則執行下邊的**)

else

...........執行**

end if (這裡是結束d=8 這個條件的)end if(這裡是結束c=7這個條件的)end if(這裡是結束b=2這個條件的)end if(這裡是結束a=3這個條件)

14樓:

vb6中 if then 可以允許寫在一行中,如果一行中的then後需要跟不止一個語句,可以在語句間加冒號,如:

if 2 = 2 then text1.text = 2: text2.text = 2

要理解這一點,你只需要記住 vb語句與語句之間可以通過換行符來識別...

15樓:匿名使用者

if語句可以像下面這樣子寫

第一種if ... then ...

第二種if ... then

......

end if

第三種if ... then

......

else

......

end if

第四種if ... then ... else ...

總的來說,如果是分開兩行寫的話,就要end if,一行的就不用了

16樓:谷歌vip使用者

不需要了

假如判斷條件a=b為真,執行suba,否則執行subb,用下面的**格式可以省略end if,else不用也可以。

if a=b then suba else subb寫在一行可以省略end if。

如果a=b你要同時執行suba和subb的話,語句間用半形的:隔開就可以了

if a=b then suba:subb else subb用:符號可以在一行**中寫n行**。

例如 a=b:a=c:a=d

等價於a=b

a=ca=d

這樣也是不會出錯的。

你上面所提到的

if keyascii=13 then text2.setfocus等價於if keyascii=13 thentext2.setfocus

end if

如果分開兩行寫必須有end if

因為編譯器需要知道你在什麼時候結束if判斷,判斷條件和處理結果寫在一行編譯器可以知道你什麼時候結束if語句,如果寫在兩行,編譯器就無法識別了,所以必須新增end if。

17樓:荔菲彭澤

if keyascii=13 then text2.setfocus

這一句不需要end if

關於VB的倆問題,幾個關於VB的問題

第一個問題 沒看懂,什麼叫不能用?第二個問題 不是設定的問題啊。大於小於不等於能直接用的啊!你是說語法錯誤還是說程式結果錯誤。如果是語法錯誤看看你輸入時是不是輸入的全形符號。應該不會是這種錯。問題說清楚點。幾個關於vb的問題 你真的打算0分,讓人幫你解決這7個比較有難度的問題?朋友,你的問題太複雜且...

vb的小問題,關於vb的小問題

你在做執行程式時,不新增其他的退出按鍵就可以啊!關於vb的小問題 setmynum是一個變數。val表示把括號後面的數轉化為10進位制的數值形式。h是16進位制數字的開頭。寫在 裡面表示加上 h這兩個字元竄。如加號後面的數值 5的話,setmynum就等於val h5 這個意思。號後面的mid su...

關於excel中if函式巢狀的問題?

一 基本用法1 單條件判斷這是最最基礎的用法,單元格滿足某一條件,返回一個值,否則返回另一個值。例 判斷總分大於700分,顯示 優秀 否則顯示 良好 if j2 700,優秀 良好 2 多條件判斷 多條件判斷一般就是if函式的巢狀,分幾個等級,就需要幾個if,看下面的例子。例如 將成績分為優秀 良好...