我想请教大家一下,在下面的程序:
Private Sub cmdRefresh_Click()
    PG1
    PG2
    ......
    ......
End SubPrivate Sub PG1()
    IF A<>B Then Exit Sub      (怎样写这句呢????)
End Sub在cmdRefresh_Click中有PG1和PG2两个子程序,如何在PG1中的A<>B时直接结束Private Sub cmdRefresh_Click()过程,不再执行PG2及以后的语句???
谢谢大家了!!!

解决方案 »

  1.   

    设置一个全局变量,当A<>B时给其赋值,然后在运行PG2前判断该变量
      

  2.   

    LZ:你将cmdRefresh_Click中的PG1直接用PG1过程中的代码替换,不是更简单吗.Option Explicit
        Dim a As String
        Dim b As String
    Private Sub cmdRefresh_Click()
        a = "1123"
        b = "1123"
        If a <> b Then
            Exit Sub
        End If
        PG2
    End SubOR:
    Option Explicit
        Dim a As String
        Dim b As String
        Dim flag As Boolean
    Private Sub cmdRefresh_Click()
        a = "1123"
        b = "1023"
        PG1
        If flag = True Then
            Exit Sub
        Else
            PG2
        End If
    End Sub
    Private Sub PG1()
        If a <> b Then
            flag = True
            Exit Sub
        End If
    End Sub
      

  3.   


    Private Sub cmdRefresh_Click()
        '....    
        PG1
        'PG2
        '......
        '......
    End SubPrivate Sub PG1()
        If A <> B Then
            Exit Sub     '(怎样写这句呢????)
        Else
            PG2
        End If
    End Sub
      

  4.   


    Private Sub cmdRefresh_Click()
        '....    
        PG1
    End SubPrivate Sub PG1()
        If A <> B Then
            Exit Sub     '(怎样写这句呢????)
        Else
            PG2
            '......
            '......
        End If
    End Sub
      

  5.   

    将PG2过程后需执行的代码写到PG2中
      

  6.   

    把过程改成函数:Private Sub cmdRefresh_Click() 
        if PG1 =false then exit sub
        PG2 
        ...... 
        ...... 
    End Sub Private Function PG1() as Boolean
        IF A <>B Then PG1=False
    End Sub 给分吧,哈哈