[英]Indirect() volatility : do not trigger if
我需要在公式中使用間接函數,因為它引用了可以刪除的工作表2。 由於它的易變性,我不想在不需要它時觸發間接函數。 所以我寫這個公式:
=IF(abc=1;"";INDIRECT("Sheet 2!zzz"))
我得到了想要的結果(“”或zzz值)。 但這似乎總是不穩定的! 我使用此宏對其進行了測試(位於http://www.decisionmodels.com/calcsecretsi.htm上 ):
Option Base 1
Option Compare Text
'-----------------------
Public jCalcSeq As Long ''' calculation sequence counter
'
Public Function CalcSeqCountRef(theRange As Range) As Variant
'
' COPYRIGHT © DECISION MODELS LIMITED 2000. All rights reserved
'
' increment calculation sequence counter at Full Recalc or when theRange changes
' fixed for false dependency
'
jCalcSeq = jCalcSeq + 1
CalcSeqCountRef = jCalcSeq + (theRange = theRange) + 1
Debug.Print Application.Caller.Formula
End Function
Sub resetcounter()
jCalcSeq = 0
End Sub
我怎么寫這個公式不易變呢?
謝謝 :)。
您不能使包含易失函數的公式即使在IF或CHOOSE等條件下也不會表現出易失性:如果該公式包含易失函數或引用易失函數的名稱,則該公式會標記為易失。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.