2012-04-14 19 views
15
VBA kullanarak

Erişim 2010 ile, bir alt vardır:birden argüman subs vba

Public Sub setInterest(account As String, dmonth As Integer) 
    ...somecode... 
End Sub 

Ve

setInterest("myAccount",3) 

ile çağırıyorum Ve dizimi hataları olsun.
Yalnızca bir bağımsız değişken almak ve 3'ü dışarıda bırakmak için alt öğeyi değiştirmek hata vermez, sorun yalnızca 2 argümanım olduğunda. birden fazla argüman kullanırken

+1

yinelenen http://stackoverflow.com/questions/7715044/calling-a-sub- in vba) ... ve diğerleri. Bu sorun zaten birden çok kez yanıtlandı. –

cevap

34

yazabilirsiniz ya: Her iki örnekte de

setInterest "myAccount", 3 

Ya

Call setInterest("myAccount", 3) 

Eğer argümanları adlandırabilir: Ben bu cevabı eklemek

setInterest account:="myAccount", dmonth:= 3 
+3

Yeryüzünün karşısında daha garip bir şey olup olmadığını bilmiyorum! İki saat boyunca bununla mücadele ettim. AMAN :( –

0

, için Neden sözdizimi tek bir argümanla çalışır?

Public Sub setInterest(account As String) 
    '...somecode... 
End Sub 

setInterest ("myAccount") 

Not:
( ve ) arasında herhangi , olmadığı zaman, VBA bir formül ve tam olarak bir argüman olduğunu düşünür.

formül aşağıdaki gibi olacaktır sonucu hesaplarken ([VBA'DA bir Sub çağrılması] arasında

Dim str As String 
str = ("TEST") 
Debug.Print str 

[Output:] 
TEST