在VBA中,您可以可以對待UDF名稱,就像Dim
med變量一樣。例如,使用函數名稱作爲變量時的注意事項
Function ADD(a, b) As Long
ADD = a
ADD = ADD + b
End Function
其中ADD
存儲中間值以及最終結果。我的問題是;在這是怎麼回事幕後而言,有存儲號碼/件數據的標準可變VS函數名變量之間的任何差別。
我擔心,只要變量的變化,如果你使用的函數名,而不是僅在執行End Function
也許是調用該函數的程序得到更新。 IE瀏覽器。如果你有一些代碼
answer = ADD(1, 2)
然後在內存answer
被寫入兩次,一次是當ADD = a
,一旦當ADD = ADD + b
。當然,我們沒有看到這一點,因爲答案是留下任何最終ADD
值
我問,因爲我經常發現我建立使用一箇中間變量階段的函數的答案,然後傳遞給函數名本身,而是我可以直接寫入函數名稱。
E.g.
Function ADD(a, b) As Long
Dim tot As Long
tot = a
tot = tot + b
ADD = tot
End Function
vs第一個例子。他們acheive同樣的事情,在第二個例子中tot
表示式的結果,所以我們需要在年底最後ADD = tot
線。對於速度,我想,以減少所做的任何寫操作,那麼有沒有在速度方面的任何缺點,沒有可讀性使用第一種方法,而不是宣佈中間體?
NB,澄清,這還不是全部的中間體,我只是意味着代表函數結果,並可以通過在代碼的函數名來代替單一的中間。
@CallumDA,爲什麼標籤編輯 - 我不認爲這一定是做Excel中,它只是爲了吸引正確的類的關注呢? – Greedo
是的,如果你不同意,隨時刪除它們。 – CallumDA
嗯,我已經找到了一個考慮因素;如果該函數返回一個數組,然後試圖設置該數組的一個元素看起來就像試圖調用該函數一樣! VBA不喜歡那個 – Greedo