我的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))'代替。 –