VB提示next沒有for,提示問題出在最下面的next i

2022-08-22 13:02:31 字數 3890 閱讀 6849

1樓:網海1書生

把 next i 和 end select 這兩句的位置互換過來就行了

vb為什麼執行時說 next 沒有 for啊

2樓:

因為for迴圈內的if沒有end if

改為:for i = 1 to 100

if isnarc(a(i)) = true thensum = sum + a(i)

end if

next i

或for i = 1 to 100

if isnarc(a(i)) = true then sum = sum + a(i)

next i

3樓:匿名使用者

樓上正解 就是沒有endif

4樓:

private sub command2_click()dim sum as long

dim a(100) as integerfor i = 1 to 100

if isnumeric(a(i)) = true then sum = sum + a(i)

next i

text1.text = sum \ 100end sub

isnarc這個寫錯了!

vb 裡打了for語句中間雜加if語句,結尾打了next i 為什麼提示說next 沒有for

5樓:聽不清啊

可能是你的if語句是這樣寫的(少寫了end if)for i=........

.........

if .... then

.......

....... '如果if語句沒在一行上寫完,就一定要另起一行寫上end if

next i

6樓:閃星

請把你的**貼出來以便大家更好的為你解答

7樓:匿名使用者

你可能丟了end if

vb** ,為什麼說next 沒有for

8樓:聽世界的聲音

因為for迴圈內的if沒有end if。

改為:for i = 1 to 100

if isnarc(a(i)) = true then

sum = sum + a(i)

end if

next i

或:for i = 1 to 100

if isnarc(a(i)) = true then sum = sum + a(i)

next i

擴充套件資料:

注意事項

if與end if配對(除非它寫在同一行上,否則不使用end if)。如果它沒有配對(例如,有四個if,但只有三個endif),它將影響它周圍的其他結構,例如for next迴圈。

1、 如果它是一行if,則結束if,例如,如果5>3,則msgbox「yes」

如果它是多行,則必須有結束符,例如:

if a=3 then

b=2end if

2、加else跟上面一樣,如果是單行的,可以是if 5 > 8 then msgbox "yes" else msgbox "no"

多行的if then else 類似這種

if a=3 then

b=2else

b=1end if

9樓:岔路程式緣

原因:如果if....then...

語句放在兩行上,必須用end if 結尾,所以你缺了乙個end if,像這種情況vb中只提示「for 缺少next」,似乎描述不清楚,但熟悉了就知道了。

——如果if....then...語句放在一行上,就不用end if 結尾了。

樓主可以這樣解決:

1、在picture1.print i後面增加乙個語句:end if,變成如下程式:

......

next m

if j = true then

picture1.print i

end if '這一句是新增加的

next i

......

2、把if j = true then和 picture1.print i放在一行上就可以,程式是這樣子地:

......

next m

if j = true then picture1.print i '這一句必須放在一行上

next i

......ok?

10樓:匿名使用者

像一樓說的,你的第二個if判斷沒有end if————————————————

private sub command1_click()dim i%, m%, j as booleanfor i = 3 to 100

for m = 2 to i - 1

if i mod m = 0 then

j = false

exit for

end if

next m

if j = true then

picture1.print i

end if

next i

end sub

————————————————

你要注意一下**的縮排格式,上面的**新增了end if下面的**也可以,就是將 if j = true then和 picture1.print i這兩條語句放在一行寫

————————————————

private sub command1_click()dim i%, m%, j as booleanfor i = 3 to 100

for m = 2 to i - 1

if i mod m = 0 then

j = false

exit for

end if

next m

if j = true then picture1.print inext i

end sub

————————————————

11樓:匿名使用者

你最後乙個if沒有end if

if j = true then

picture1.print i

end if

vba問題求教,為什麼會提示next沒有for

12樓:天雨下凡

if與end if不匹配,在end if下面再加上兩個end if,即改成如下:

sub 生成戰鬥資料()

for i = 1 to 9

if i < 4 then

if sheet1.cells(4, 2 * i + 1) = "" then

msgbox "沒有輸入等級"

exit sub

elseif i > 6 then

if sheet1.cells(4, 2 * i + 1) = "" then

msgbox "沒有輸入等級"

exit sub

end if

end if

end if

'--------------生成隨機屬性和傾向-------------

call 屬性隨機練習

call 傾向隨機練習

r = 2 * i + 1

sheet1.cells(5, r) = 屬性

sheet1.cells(6, r) = 傾向

next

end sub

13樓:清風吧吧啦

原因是缺少乙個end if結束語句。

Excel中vb定義函式,執行函式提示沒有適當的物件,方法無效

vba中是不能直接使用print進行輸出的,你可以在excel的某個單元格中進行,比如在第乙個表的a1單元格輸出 sheet1.cells 1,1 天瑞4 excel vb 提示,該物件不支援該屬性和方法 10 說明這個物件沒有 value 值 這種屬性。uservo user uservo voi...

用提示語在前,提示語在後,提示語在中間,沒有提示語來寫一段話

提示語在前,我對爸爸說時間不早了,我們回去吧。提示語在中時間不早了,我對爸爸說 今天天氣很好,媽媽說 我們去郊遊踏青吧!好啊,我最喜歡遊玩了!女兒說。那我們就走吧!提示語在前 我對爸復爸製說 時間不早了bai,我們回家吧。du 提示語在 中 時間不早了zhi 我dao對爸爸 說,我們回家吧。提示語在...

電腦提示老是提示,電腦提示老是提示USB KEY DIAL!怎麼辦

解除安裝現有驅動和應用程式,重新安裝,重新啟動電腦試試。如果不行的話,拿網絡卡到別的電腦試試,如果其他電腦正常,就說明是你電腦的作業系統或軟體原因,可以重新安裝下下系統或者解除安裝一下這兩天安裝的其他軟體程式,或許是新安裝的軟體有衝突。開啟網路連線 建立乙個新的連線 或者解除安裝無線網絡卡驅動 重新...