我需要一些幫助。 使用Excel 2007. 我甚至不確定這可以做到。 我需要保持效率和速度,否則應用程序將不會被使用。VBA將公式分配給變量,然後使用變量來評估公式
我有一個'IF'語句來測試一個標準。 取決於結果想要將幾個可能的公式之一分配給變量供以後使用。 然後,我需要讓變量來評估公式,以便可以將結果存儲在第二個變量中以構建數組。
示例代碼:
If (varEmployeeName = "(All)" Or varEmployeeName = "(Multiple Items)") Then
**varArrayFormula = "Application.WorksheetFunction.SumIfs(wsSumRange, wsLookupRange, wsLookupValue)"**
Else
**varArrayFormula = "Application.WorksheetFunction.SumIfs(wsSumRange, wsLookupRange, wsLookupValue, wsLookupRange2, varEmployeeName)"**
後來這個代碼將執行:
ReDim varKPIArray(0 To varLastRow) ' creates the array size
For varCol = 10 To 13
For varRow = 8 To varLastRow
varDailyKPIHeading = ws.Cells(7, varCol).Value
Select Case varDailyKPIHeading
Case "PRODUCTIVITY"
Set wsSumRange = ThisWorkbook.Worksheets("DailyProductivity").Range("$G:$G")
Set wsLookupRange = ThisWorkbook.Worksheets("DailyProductivity").Range("$F:$F")
wsLookupValue = ws.Range("B" & varRow).Value
**varSumifValue = Application.Evaluate(varArrayFormula)**
varKPIArray(varRow - 8) = varSumifValue
Case "HOURS"
會再經過幾列和行中循環,因此爲什麼需要程序中的變量。我現在有兩個選項: 1)是建立一個數組,然後我可以將數組結果粘貼到第二個循環的適當單元格中。 或 2)當我通過每個細胞是循環我填充公式結果到小區
謝謝大家對您有所幫助,建議和想法
我試過使用「」但這適用公式作爲字符串我已經嘗試使用[]但這然後想要執行該公式並將結果應用於變量 – rchrysler