我想在我的VBA代碼中使用IF語句,在該函數中調用一個Function並傳遞給它兩個參數。我需要IF語句的原因是因爲參數是我傳遞給函數的數組對象。下面是一個包含該問題的代碼的縮寫:我可以在函數參數中使用「If」語句嗎?
For i = 1 To UBound(FilterArray)
For j = LBound(ptsheets, 1) To UBound(ptsheets, 1)
Filter_PivotField_Master _
pvtField:=ThisWorkbook.Worksheets(ptsheets(j, 1)).PivotTables(ptsheets(j, 2)).PivotFields(FilterArray(i, 1)), _
FilterTypeArray:= If FilterArray(i, 2) = 1 Then
InvCodeArray
Else
BoardMonthArray
End If
Next j
Next i
正如你所看到的,我通過循環的ptsheets陣列,併爲每個條目,我打電話了Filter_PivotField_Master功能。該函數需要兩個輸入(一個pivotfield和一個字符串數組用於過濾)。名爲「FilterArray」的數組只包含傳遞給該函數所需的信息。因爲我似乎無法在內部的字符串數組(無論是InvCodeArray或BoardMonthArray)存儲「FilterArray,」我想用這個if語句,如果FilterArray根據任一陣列之間進行選擇(1,2)等於「1」或不。這裏是否可以使用「IF」聲明選項?
這個工作很完美。謝謝! – AGryckiewicz
@AGryckiewicz僅供參考我剛剛使用我的Rubberduck VBE插件的* Extract Method *重構工具對其進行了測試,並且它工作正常。你可能想看看。 –
不錯。我真的不明白'重構工具'是什麼,它的用途是什麼,但我有興趣學習更多。感謝您傳遞信息。 – AGryckiewicz