2012-04-14 22 views
15

VBA का उपयोग पहुँच 2010 से, मैं एक उप है:कई तर्क बाद के चरणों VBA

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

और मैं

setInterest("myAccount",3) 

के साथ बोल रहा हूँ और मैं वाक्यविन्यास त्रुटियों मिलता है।
सब को संशोधित करने के लिए केवल एक तर्क लेना और 3 को छोड़ना कोई त्रुटि नहीं देता है, समस्या तब होती है जब मेरे पास 2 तर्क होते हैं।

+1

[VBA में एक उप कॉलिंग] की डुप्लीकेट http://stackoverflow.com/questions/7715044/calling-a-sub- इन-वीबीए) ... और कई अन्य। इस मुद्दे का उत्तर कई बार पहले ही दिया गया है। –

उत्तर

34

कई तर्कों का उपयोग करते हैं, तो आप या तो लिख सकते हैं:

setInterest "myAccount", 3 

या

Call setInterest("myAccount", 3) 

दोनों उदाहरणों में आप तर्क नाम कर सकते हैं:

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

पता नहीं है कि पूरे पृथ्वी के चेहरे में कुछ और अजीब है या नहीं! उस के साथ संघर्ष करने में दो घंटे बिताए। अरे मेरा :( –

0

मैं इस सवाल का जवाब जोड़ने के लिए, के लिए आपका वाक्यविन्यास एक तर्क के साथ क्यों काम करता है?

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

setInterest ("myAccount") 

नोट:
जब वहाँ नहीं है ( और ) के बीच किसी भी ,, VBA सोचता है कि यह एक सूत्र और वास्तव में एक तर्क है।

सूत्र परिणाम की गणना जब इस तरह होगा: (

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

[Output:] 
TEST