返回列表 上一主題 發帖

如何 讓Function的引數,來自2個不同Sub的變數

如何 讓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

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

End Sub

TOP

        靜思自在 : 吃苦了苦、苦盡廿來,享福了福、福盡悲來。
返回列表 上一主題