vb代码 ,为什么说next 没有for

PrivateSubCommand1_Click()Dimi%,m%,jAsBooleanFori=3To100Form=2Toi-1IfiModm=0Thenj=Fal... Private Sub Command1_Click()
Dim i%, m%, j As Boolean
For 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
Next i
End Sub
展开
 我来答
听世界的声音60
2020-02-05 · TA获得超过868个赞
知道答主
回答量:31
采纳率:0%
帮助的人:7465
展开全部

因为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=2

end if

2、加else跟上面一样,如果是单行的,可以是If 5 > 8 Then MsgBox "yes" Else MsgBox "no"

多行的if then else 类似这种

if a=3 then

b=2

else

b=1

end if

岔路程序缘

2010-10-12 · TA获得超过8.9万个赞
知道大有可为答主
回答量:9918
采纳率:93%
帮助的人:3413万
展开全部
原因:如果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?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
304728539
2010-10-12 · TA获得超过302个赞
知道小有建树答主
回答量:158
采纳率:0%
帮助的人:168万
展开全部
像一楼说的,你的第二个IF判断没有end if
————————————————
Private Sub Command1_Click()
Dim i%, m%, j As Boolean
For 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 Boolean
For 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
Next i
End Sub
————————————————
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jiangxueqiao
推荐于2018-02-28 · TA获得超过532个赞
知道小有建树答主
回答量:366
采纳率:0%
帮助的人:364万
展开全部
你最后一个if没有end if
If j = True Then
Picture1.Print i
end if
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式