下面这段代码经过测试,运行正常,但是当我把第一条语句放到“温度输入有误!”这条语句后面的时候就出现错误了“End If块没有If”
Private Sub Command1_Click()
   If (Val(Text1(7).Text) >= Val(Text1(6).Text)) Or (Val(Text1(7).Text) = 0) Then
    MsgBox "压力参数输入有误!", vbCritical
    Exit Sub
    ElseIf Val(Text1(2).Text) = 0 Then MsgBox "流量不能为零!", vbCritical
    Exit Sub
    ElseIf Val(Text1(3).Text) = 0 Then MsgBox "压缩系数不能为零!", vbCritical
    Exit Sub
    ElseIf Val(Text1(4).Text) = 0 Then MsgBox "分子量不能为零!", vbCritical
    Exit Sub
    ElseIf (Text1(5).Text = "-") Or (Text1(5).Text = ".") Or (Text1(5).Text = "-.") Then MsgBox "温度输入有误!", vbCritical
    Exit Sub
    ElseIf Val(Text1(8).Text) = 0 Then MsgBox "管道内径不能为零!", vbCritical
    Exit Sub
  End If(其它代码)End Sub下面的代码出现了上面所讲的那个错误“End If块没有If”
Private Sub Command1_Click()    If Val(Text1(2).Text) = 0 Then MsgBox "流量不能为零!", vbCritical
    Exit Sub
    ElseIf Val(Text1(3).Text) = 0 Then MsgBox "压缩系数不能为零!", vbCritical
    Exit Sub
    ElseIf Val(Text1(4).Text) = 0 Then MsgBox "分子量不能为零!", vbCritical
    Exit Sub
    ElseIf (Text1(5).Text = "-") Or (Text1(5).Text = ".") Or (Text1(5).Text = "-.") Then MsgBox "温度输入有误!", vbCritical
    Exit Sub
    ElseIf (Val(Text1(7).Text) >= Val(Text1(6).Text)) Or (Val(Text1(7).Text) = 0) Then
    MsgBox "压力参数输入有误!", vbCritical
    Exit Sub
    ElseIf Val(Text1(8).Text) = 0 Then MsgBox "管道内径不能为零!", vbCritical
    Exit Sub
  End If(if语句下面还有其它代码)
End Sub何解啊!!请问

解决方案 »

  1.   

    Private Sub Command1_Click()    If Val(Text1(2).Text) = 0 Then
            MsgBox "流量不能为零!", vbCritical
            Exit Sub
        ElseIf Val(Text1(3).Text) = 0 Then
            MsgBox "压缩系数不能为零!", vbCritical
            Exit Sub
        ElseIf Val(Text1(4).Text) = 0 Then
            MsgBox "分子量不能为零!", vbCritical
            Exit Sub
        ElseIf (Text1(5).Text = "-") Or (Text1(5).Text = ".") Or (Text1(5).Text = "-.") Then
            MsgBox "温度输入有误!", vbCritical
            Exit Sub
        ElseIf (Val(Text1(7).Text) >= Val(Text1(6).Text)) Or (Val(Text1(7).Text) = 0) Then
            MsgBox "压力参数输入有误!", vbCritical
            Exit Sub
        ElseIf Val(Text1(8).Text) = 0 Then
            MsgBox "管道内径不能为零!", vbCritical
            Exit Sub
        End IfEnd Sub
      

  2.   

    你对if语句的理解有问题1.单句
    if a>5 then b=32.多
    if a>5 then
        b=3
    end if
      

  3.   

      If Val(Text1(2).Text) = 0 Then MsgBox "流量不能为零!", vbCritical就是完整的If语句,下面当然没If了