Private  Function  NumAdd(Byref  Num  As  Integer) 
        Num  =  Num  +  1 
End  Function 

解决方案 »

  1.   

    Private  Function  NumAdd( Num  As  Integer) 
    byval 是按值
    byref  是按地址 (缺省)
      

  2.   

    Private  Function  NumAdd(ByRef  Num  As  Integer) 
            Num  =  Num  +  1 
    End  Function 
      

  3.   

    Private    Function    NumAdd(ByRef    Num    As    Integer)  
                    Num    =    Num    +    1  
    End    Function  
      

  4.   

    可是不管是用 ByVal 或 ByRef 打印aa結果都是1,為什么?
      

  5.   

    按值傳遞就是說只將值傳遞過去了.
    NUmAdd中處理的僅僅只是一個'1'而已,
    按地址傳遞就是說將 'aa' 傳遞過去.你可以這么理解.
      

  6.   

    static a as integer
    必须设置成静态变量!
      

  7.   

    你a值无论如何改,都是num在加一呀
    设一下静态变量,然后byref
      

  8.   

    Private Sub Command1_Click()
        Dim aa   As Integer
            aa = 1
            NumAdd aa
            MsgBox aaEnd SubPrivate Function NumAdd(ByRef Num As Integer)
            Num = Num + 1
    End Function
      

  9.   

    这么简单呀!你试试这样吧!
    Private Sub Command1_Click()
            Dim aa   As Integer
            aa = 1
            NumAdd (aa)
            MsgBox NumAdd(aa)
    '       或上面两句变为:
    '       aa=NumAdd (aa)
    '       MsgBox aa 
    End SubPrivate Function NumAdd(Num As Integer) As Integer
            Num = Num + 1
            NumAdd = Num
    End Function
      

  10.   

    Private  Sub  Command1_Click() 
            Dim  aa      As  Integer 
                    aa  =  1 
             ***    NumAdd  aa ****
                    MsgBox  aa End  Sub 
    注意打***的写法
    这下应该可以了吧