我的VBA代碼是Excel的公式求值錯誤
Function yEval(entry As String)
yEval = Evaluate(entry)
Application.Volatile
End Function
在Sheet1中單元格F4我對工作表Sheet1公式=yEval(Sheet2!E19)
單元格D4包含數12 Sheet2的!I19包含字符串$ Q
如果Sheet2!e19有字符串INDIRECT(「pries!」& Sheet2!I19 & 12)或 INDIRECT(「pries!」& Sheet2!I19 & Sheet1!d4)或 INDIRECT( 「減價!」 & Sheet 2中!I19 & 「Sheet 1中!d」 &行()+ 12)式中返回從片撬開 結果!$ Q12
如果Sheet 2中!E19具有串 INDIRECT(「減價!」 & Sheet2的!I19 &地址(行(),4))或 INDIRECT( 「減價!」 & Sheet2的!I19 & 「工作表Sheet1!d」 &行())公式返回 結果0好像忽略了row()函數
如何使工作這個公式依賴於行數來改變D4的一部分,如果行5則D5
INDIRECT("pries!"&Sheet2!I19&Sheet1!d4)
問題是在內部使用ROW()或COLUMN()評估:activesheet.evaluate(「偏移量(a10,2,0)」)工作正常。 –
更具體地說,問題在於INDIRECT公式,因爲'evaluate(「index(row(),1))」工作正常。因此,另一種選擇是從單元格公式中除去INDIRECT並使用'= yeval(INDEX(yeval(Sheet2!E19),1))'代替。 –