Board logo

標題: 如何 讓Function的引數,來自2個不同Sub的變數 [打印本頁]

作者: Helain    時間: 2011-9-2 12:07     標題: 如何 讓Function的引數,來自2個不同Sub的變數

不好意思,我想要請問各位大大
我是VBA新手,對於引數如何呼叫傳遞不是很清楚,
如果我要讓Function作運算的引數是來自2個不同sub 該如何做呢??

或者可以給我一個小例子

謝謝各位



Sub AA()

For Qm = 1 To 10
        For Qr = 1 To 10
   
        ThisWorkbook.Sheets("sheet2").Cells(Qm, Qr).Value = AvgManufacturerProfit(Qm, Qr)

        Next
    Next
End Sub

'..........................................................
Private Function AvgManufacturerProfit(ByVal Qm As Integer, ByVal Qr As Integer) As Integer

      AvgManufacturerProfit = pm * Qm + w * Qr

End Function

'...................................................
Sub DDm()
               b=Qr                                    <------在這邊如何讀取AA()裡面的Qr
           DDm = ActualDemand_Dm(a, b)
            
End Sub

Private Function ActualDemand_Dm(ByVal Dm As Long, ByVal Qr As Integer) As Long

    r = 0.5
    For i = 1 To 10

      a = Cells(i, 2) - Qr

        If a > 0 Then
            Cells(i, 3) = Cells(i, 1) + r * a

        ElseIf a <= 0 Then
            Cells(i, 3) = Cells(i, 1)
   
        End If
        Next

End Function
作者: GBKEE    時間: 2011-9-2 12:51

回復 1# Helain
看不懂你的用意為何
Sub DDm()     <-應修正為Function DDm()
'               b=Qr                                    <------在這邊如何讀取AA()裡面的Qr
                                                                           可以在模組頂端 DIM 或 PUBLIC 宣告變數  Qr
           DDm = ActualDemand_Dm(a, b)           '<-語法錯誤
            'DDm為程序名稱 必須是函數或變數才可以加上 =

End Sub




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)