2015-03-31 154 views
0

我試圖定義名稱的範圍,然後在公式中引用它們VBA傳遞變量引用命名區域 - 對象定義的錯誤

在工作表公式此 =IFERROR(AVERAGEIFS('CAR Dashboard.xlsm'!Q2_15_Video_Penetration,'CAR Dashboard.xlsm'!Q2_15_Module,B5),"")

我傳遞的變量在式並返回一個對象定義的錯誤

Sheets("QoQ Summary").Cells(5, 11).Formula = "=IFERROR(AVERAGEIFS('CAR Dashboard.xlsm'!" & VPenName & ",'CAR Dashboard.xlsm'!" & ModuleName & ",B5,"")"""

我不知道什麼是錯。任何人都可以幫忙嗎?謝謝!

以下是測試代碼。請忽略未定義的變量。

Sub test() 
Dim ModuleName, VPenName, HPenName, CPenName, XPenName As String 
    'Define 
    ModuleName = Sheets("Settings and Instruction").range("G1").Value 
    VPenName = Sheets("Settings and Instruction").range("G2").Value 

    ActiveWorkbook.Names.Add Name:=ModuleName, RefersToR1C1:= _ 
       "=OFFSET('" & rp & "'!R5C" & Module.Column & ",,,COUNTA('" & rp & "'!C" & Module.Column & "),)" 

    ActiveWorkbook.Names.Add Name:=VPenName, RefersToR1C1:= _ 
       "=OFFSET('" & rp & "'!R5C" & VideoPen.Column & ",,,COUNTA('" & rp & "'!C" & VideoPen.Column & "),)" 

Dim rng As range 
'Set rng = range("'CAR Dashboard.xlsm'!" & VPenName) 
'Application.Goto rng 

Sheets("QoQ Summary").Cells(5, 11).Formula = _ 
       "=IFERROR(AVERAGEIFS('CAR Dashboard.xlsm'!" & VPenName & ",'CAR Dashboard.xlsm'!" & ModuleName & ",B5,"")""" 

End Sub 

回答

0

你的右括號是放錯了地方,試試這個來代替:

"=IFERROR(AVERAGEIFS('CAR Dashboard.xlsm'!" & VPenName & ",'CAR Dashboard.xlsm'!" & ModuleName & ",B5,"""")" 
+0

我修改它,因爲這,但仍引發一個錯誤..'「= IFERROR(AVERAGEIFS(」汽車儀表板。 xlsm'!「&VPenName&」,'CAR Dashboard.xlsm'!「&ModuleName&」,B5,「」)「' – qshngv 2015-04-01 01:37:45

+0

這仍然與我的回答不一樣,你還沒有逃過最後一組引號。 – 2015-04-01 06:11:29

+0

最後需要是'B5,「」「」)「' – 2015-04-01 09:03:28