1

我似乎在下面的公式中有一個類型不匹配錯誤。 Numbering,Approval,PeakShare和都作爲範圍存儲,整數爲app。我相信我在試圖包含'app'的價值時正確地脫離了我的引用。但是我得到一個「類型不匹配」錯誤作爲回報。我也嘗試過包括一個非變量整數並接收一個「Object defined or application defined error」。我已經閱讀了一些關於在Excel公式中使用間接和批准的內容,但是在VBA中沒有發現很多內容,這是問題嗎?對象定義或應用程序定義的錯誤,公式字符串

formulaUp = "=IF(" & Numbering.Address(True, False) & "<" & Approval.Address & ","""", " & PeakShare.Address & " * " & RampUp.Offset(0, -"" & app & "" + 1).Address(True, False) & ")" 
+0

這裏不需要引號'RampUp.Offset(0, - 「」 &應用& 「」 + 1)'只是做'RampUp.Offset(0, - 1 *應用程序+ 1)' –

+0

我仍然返回應用程序定義的錯誤或對象定義的錯誤,因爲當傳遞非變量整數時 –

+0

而且代碼按預期工作,當我移除偏移量(0, - 1 *應用程序+1 )'部分@ScottCraner –

回答

1

類型不匹配來自

RampUp.Offset(0, -"" & app & "" + 1) 

你想傳遞給Offset沒有多大意義的第二個參數,並拋出因爲根據運算符優先級是(-"") & app & ("" + 1),既不括號內的表達式可以被計算。

顯然,你的意思是

RampUp.Offset(0, -app + 1) 
+0

謝謝@GSerg,我感覺這是我的語法錯誤,這就是爲什麼我通過一個非變量整數。我仍然返回上面提到的對象定義錯誤,爲什麼包含'Offset(0, - 1 * app +1)'會導致這種情況? –

相關問題