Private Sub Command1_Click()
Dim a As Integer
b = 0
jixu:
b = b + 1
Print b
If b = 1 Then
Exit Sub
End If
End SubPrivate Sub Command2_Click()
GoTo jixu
End Sub
我要的就是类似的这个效果,这只不过是个例子,就是当b=1时,我跳出,但是我按 Command2时会继续执行程序,我改怎么修改

解决方案 »

  1.   

    command1的代码放到函数(过程)中,b作为参数传入,command2调用该函数(过程)
      

  2.   

    什么意思,不是很明白,为什么我这样打,他一直说标签未定义。还有问下,VB是不是和有些语言有区别就是他执行过程中是不是会跳过jixu:标注的这段代码
    Private Sub Command1_Click() 
    Dim a As Integer 
    b = 0 
    jixu: 
    b = b + 1 
    Print b 
    If b = 1 Then 
    Exit Sub 
    End If 
    End Sub 
      

  3.   

    试过了可以执行的,但是是不是因为我GOTO jixu  放在 Command2_Click() 
    ,所以他一直报错
      

  4.   

    goto 和标签只能用在同一过程这内。标签后的代码是不会跳过的。
      

  5.   

    Private Sub Command1_Click() 
    Dim a As Integer 
    b = 0 
    jixu: 
    b = b + 1 
    Print b 
    If b = 1 Then 
    Exit Sub 
    End If 
    End Sub Private Sub Command2_Click() 
    GoTo jixu 
    End Sub 
    那如果我想要达到这个效果我该如何修改,就是我想用GOTO回到Command1的代码中去,我该怎么改
      

  6.   

    Private Sub Command1_Click() 
    Dim a As Integer 
    b = 0 
    jixu: 
    b = b + 1 
    Print b 
    If b = 1 Then 
    Exit Sub 
    End If 
    End Sub Private Sub Command2_Click() 
    call Command1_Click
    End Sub 
    就可以了,如果需要跳到某个具体地方可以加变量控制。
      

  7.   

    Private Sub Command2_Click() 
     Command1_Click
    End Sub 
    如果要传参数,就只能用窗体级变量
      

  8.   

    Dim a As Integer 
    b = 0 
    jixu: 
    b = b + 1 
    Print b 
    If b = 1 Then 
    Exit Sub 
    End If 
    Private Sub Command2_Click() 
    call Command1_Click 
    End Sub
      

  9.   

    我用了个if 语句,大家看看这样怎么样
    Private Sub Command1_Click() 
    Dim a ,b As Integer 
    if a = 0 then
    goto jixu: 
    b = 0 
    jixu: 
    b = b + 1 
    Print b 
    If b = 1 Then 
    End If 
    End Sub Private Sub Command2_Click() 
    a = 1
    call Command1_Click 
    End Sub 
      

  10.   

    我用了个if 语句,大家看看这样怎么样  上面的写错了,谢谢6楼的提醒
    Private Sub Command1_Click() 
    Dim a ,b As Integer 
    if a = 1 then 
    goto jixu: 
    b = 0 
    jixu: 
    b = b + 1 
    Print b 
    If b = 1 Then 
    End If 
    End Sub Private Sub Command2_Click() 
    a = 1 
    call Command1_Click 
    End Sub