例如我定义:
Public Sub area(longer, width)
Dim longer As Integer
Dim width As Integer
Dim AreaResoult As Integer
AreaResoult = longer * width
End Sub然后想在一个按钮上显示过程的结果
Private Sub Command1_Click()
Dim bak As Integer
area 5,6
'//////////////////////////中间怎么写才能把过程area的返回值传递给bak?'///////////////////////////
Command1.Caption = Cstr(bak)
End Sub语句中有错误的地方还望多多指正,谢谢!

解决方案 »

  1.   

    Public Function area(longer, width) as Long
    area=longer * width
    End Function 
      

  2.   

    Public Function area(Byval longer as Long,Byval width as Long) as Long
    area=longer * width
    End Function 
      

  3.   

    sub的话,参数用byref传递,
    function的话,函数名就是用来赋返回值的
      

  4.   

    byref的话具体该怎么写呢?
    另外Function 和 Sub 的方法各自常用在什么情况下?还是看个人爱好呢? 谢谢这些朋友的解答 ^_^
      

  5.   

    byref传的是变量的引用,即所在过程/函数修改该变量后返回调用者的是修改过的值
    byval传的是值,返回调用者后该值是原先传入的值,没有改变Function 可以有返回值,sub没有。
      

  6.   

    Public Sub area(ByVal longer As Integer, ByVal width As Integer, ByRef AreaResoult As Integer)
    AreaResoult = longer * width
    End Sub'然后想在一个按钮上显示过程的结果
    Private Sub Command1_Click()
    Dim bak As Integer
    area 5, 6, bak
    MsgBox bak
    End Sub