Sub xunhuan(cansu As Integer)
Do Until cansu = 10
Print "10"
Loop
End Sub
Private Sub Form_Load()
Call regvalue(0)
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Call regvalue(10)
End SubPrivate Sub Form_Unload(Cancel As Integer)
Call regvalue(10)
End Sub

解决方案 »

  1.   

    把QueryUnload事件的unloadmode参数利用好
    unloadmode 参数返回下列值:常数 值 描述 
    vbFormControlMenu 0 用户从窗体上的“控件”菜单中选择“关闭”指令。 
    vbFormCode 1 Unload 语句被代码调用。 
    vbAppWindows 2 当前 Microsoft Windows 操作环境会话结束。 
    vbAppTaskManager 3 Microsoft Windows 任务管理器正在关闭应用程序。 
    vbFormMDIForm 4 MDI 子窗体正在关闭,因为 MDI 窗体正在关闭。 
    vbFormOwner 5 因为窗体的所有者正在关闭,所以窗体也在关闭。 
      

  2.   

    Do Until cansu = 10
    Print "10"
    Loop如果之前你用了10以外的参数,那确实接收不到了。Do Until cansu = 10
    Print "10"
    doevents
    Loop
      

  3.   

    Sub xunhuan(cansu As Integer)
    Do Until cansu = 10
    Print "10"
    Loop
    End SubCall regvalue(0)
    然后再
    Call regvalue(10)这样是不会停下的。
    应该这样写:
    Option Explicit
    Dim StopMe as Boolean
    ...Sub xunhuan
    Do Until StopMe 
       DoEvents
       Print "10"
    Loop
    End Sub调用的时候直接: call xunhuan要停止的时候写:
    StopMe = True
    就停止了