输入3525, 4, 344,显示最大值为344
Private Sub Command1_Click()
Dim a, b, c, max As Long
a = Text1.Text
b = Text2.Text
c = Text3.TextIf a > b Then
max = a
Else
max = b
End If
If c > max Then max = cLabel4.Caption = "最大数为" & maxEnd SubPrivate Sub Command2_Click()
Label1.Caption = "数a为"
Label2.Caption = "数b为"
Label3.Caption = "数c为"
End Sub

解决方案 »

  1.   

    把你的变量声明写正确,就能解决问题了。
     应该这样写: Dim a As Long, b As Long, c As Long, max As Long
    (或者这样写: Dim a&, b&, c&, max As Long)
      

  2.   

    你a b c 申明时都没有定义类型 以数字类型比较和以字符串类型比较,结果是不一样,你没定义 类型 因为文本框是字符弄 所有你 a b c 都是字符串型 ,当a和b比较是 是按字符串比较的 是b大于a,也就是4>3525,当c和max比较时,由于max是长整形变量,所有是按数值型比较的,所有344>4,所有最大是344,你主要是变量类型使用不统一造成的
      

  3.   

    你没有定义a,b,c的类型,所以都被当成变体型,所以赋值字符串时就是字符串类型,所以比较大小时,是按字符串比较大小的
      

  4.   

    Dim a As Long, b As Long, c As Long, max As Long
    a = val(trim(Text1.Text))
    b = val(trim(Text2.Text))
    c = val(trim(Text3.Text))
      

  5.   

    仅供参考:Private Function Maximum(ParamArray Vals())
    Dim n As Integer, MaxVal
    On Error Resume Next
        MaxVal = Vals(0)
        For n = 1 To UBound(Vals)
            If Vals(n) > MaxVal Then MaxVal = Vals(n)
        Next n
        Maximum = MaxVal
    End Function
      

  6.   

        Max = Maximum(MyR, MyG, MyB)
      

  7.   

    变量的声明应该分开声明,连在一起会出错的,像这样
    Dim a As Long, b As Long, c As Long, max As Long
    像你先前那样就会,以数字类型比较和以字符串类型比较,结果会不一样
    a = val(trim(Text1.Text))
    b = val(trim(Text2.Text))
    c = val(trim(Text3.Text))
    这样才能把值赋给字母
      

  8.   

    首先,你的未知数的定义格式不正确,应该为dim a%,b%,max%
    其次,比较的是数值,而非字符,所以你得把文本框里的字符转换为数值,即a=Val(text1,text)以此类推
      

  9.   

    你这sub  end if 什么的都没正常结束啊,检查检查你的语法