簡體   English   中英

Indirect()波動性:如果以下情況不觸發

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM