Private Sub Form_Load()
Dim guaiid As Long
guaiid = 8
End Sub
---------------------------------------------
Private Sub Command1_Click()
If guaiid <> "0" Then
lastid = guaiid
Label1.Caption = guaiid
Else
  For i = 1 To 10 Step 1
  guaiid = lastid + i
     If guaiid <> "0" Then
     End If
     Exit For
     Next
End If
End Sub
-------------------------------------------------
结果单击之后label1里面的内容是空的?
vb里没有break,也不知道我写的那个Exit For对不对

解决方案 »

  1.   

    guaiid是局部变量,生存周期仅仅限于过程之内。你在另一个过程里也有个guaiid,但是并没有初始化,在vb里没有初始化的都是空的。1、建议在任何过程或者窗体的里,第一句最好是Option Explicit。也就是打开选项里把要求变量声明的钩钩上。2、解决你这里的问题是,将第二个过程里的guaiid定义一下,并且赋初值
    看你这两个过程,你最好将guaiid定义为窗体级变量。
      

  2.   

    1那句说错了,在任何模块或者窗体里,第一句话是Option Explicit