2017-03-19 298 views
0

我有兩個功能(其中一個被稱爲另一個內部)共享一些變量作爲自變量,如下面的例子:聲明函數參數在Excel VBA

Public Function f1(a as Double, b as Double, c as Double) 
"code" 
End 

Public Function f2(a as Double, b as Double, c as Double, t as Integer) 
var = f1(a, b, c) 
"code" 
End 

是否有申報重複的方式變量(A,b和C)外的這兩種功能一次,這樣的事情:

Dim a As Double, b As Double, c As Double 

Public Function f1(a, b, c) 
"code" 
End 

Public Function f2(a, b, c, t as Integer) 
var = f1(a, b, c) 
"code" 
End 

或者是這些參數具體到他們父母的功能呢?

+1

否不存在,但取決於您要達到的目標,您可以考慮傳遞屬性對應於a,b和c的類或用戶定義類型的實例。 – Joe

+0

@CyanD是從Excel單元中調用的這些函數是否爲** UDF **?或者從同一模塊中的「Sub」調用它們? –

+0

噢,好的。謝謝您的回覆。 這是一個大學作業,我們還沒有學習類模塊。 然後我會爲每個變量顯式聲明。 – CyanD

回答

0

一種方法來做到這一點,定義全局變量,不要將它們用作函數的參數。

Dim a As Double, b As Double, c As Double 

Public Function f1() 
"code use a,b and c" 
End 

Public Function f2(t as Integer) 
var = f1() 
"code use a,b and c" 
End 
+0

作爲對這些功能是否爲UDF的問題的迴應,操作程序聲明「是的,它們在單元中使用」。如果是這樣,函數'f2'將需要傳遞所有四個參數 - Excel將無法直接設置模塊範圍變量'a','b'和'c'。 – YowE3K