2012-12-12 37 views
0

這可能是一個快速修復,但我是VBA的新手,我有點困惑。我有一個模塊:Excel VBA函數無意中調用模塊中的另一個函數

Function classify (r As Range) 
Debug.Print("Text") 
End Function 

Function foo(r As Range) 
Debug.Print(r.Count) 
End Function 

模塊前後有工作代碼。

如果在Excel單元格,我寫=foo(A1),然後按回車鍵,我得到下面的輸出:

1 
Text 

爲什麼? foo怎麼稱呼分類?此外,如果我只是叫「=分類(A1)」,我得到

Text 
Text 

已分類莫名其妙地被設置爲總是被調用?任何幫助是極大的讚賞

+0

你有沒有A1的公式可能使其他細胞變得不穩定? – InContext

+0

在按回車鍵之前清除輸出嗎?也許在輸出窗格中仍然有舊值顯示。 – ja72

回答

5

,我可以重現您的問題的唯一途徑是與以下情形:

Cell A1: 
=foo(A1) 

Cell A2: 
=classify(A1) 

當更新單元格A1,我得到

1 
Text 

我認爲這是由於單元格A2通過更新A1來引用A1的事實,我也稱之爲引用A1的A2中的公式。

假設您輸入的公式是在A1中,我會跟蹤依賴項以查看其他公式的位置。

相關問題