Private Sub Command1_Click()
Dim a As Long
a = 1000 * 1000
MsgBox a
End Sub

解决方案 »

  1.   

    Private Sub Command1_Click()
    Dim a As Long
    a = 1000
    a = a * 1000
    MsgBox a
    End Sub
      

  2.   

    Private Sub Command1_Click()
    Dim a As Long
    a = 1000! * 1000!
    MsgBox a
    End Sub
      

  3.   

    Private Sub Command1_Click()
    Dim a As Long
    a = clng(1000) * clng(1000)
    MsgBox a
    End Sub
      

  4.   

    使用&会更科学,因为没有数据类型转换
    Dim a As Long
    a = 1000& * 1000&
    MsgBox a
      

  5.   

    Private Sub Command1_Click()
    Dim a As Long
    a = Val(1000) * Val(1000)
    MsgBox a
    End Sub
      

  6.   

    a = 1000 * 1000 
    其实在计算1000 * 1000 的时候编译器自动生成了中间变量, 由于 1000没有指定类型 vb默认为是 integer ,由于integer 其范围为 -32,768 到 32,767 之间 所以 就出现了溢出的错误
      

  7.   

    哦!!也就是说编译器先生成一个临时的integer变量temp,然后执行temp=temp*1000是吗?