आप
EnterCellValueMonthNumber "N23:Q23", 1
कोई कोष्ठक के रूप में उप कहेंगे। या
Call EnterCellValueMonthNumber("N23:Q23", 1)
ब्रैकेट, और Call
इससे पहले।
इसके अलावा, आपकी उप रेंज ऑब्जेक्ट को पहले तर्क के रूप में उम्मीद कर रही है और आप एक स्ट्रिंग की आपूर्ति कर रहे हैं;
Sub EnterCellValueMonthNumber(cells As String, number As Integer)
इसके अलावा, मैं तुम क्या इस कोड के साथ प्राप्त करने के लिए के रूप में यह केवल 1 के लिए रेंज के ऊपरी-बाएं सेल सेट हो जाएगा कोशिश कर रहे हैं के रूप में अनिश्चित हूँ: आप के लिए उप के हस्ताक्षर बदलना चाहिए।
Range(cells).Value = number
' Or, if you're going to be passing in something more complex later...
Range(cells).FormulaR1C1 = number
कुछ और उचित होगा?
मैं Range("...")
का उपयोग करके बहुत सावधान रहूंगा, यह निर्दिष्ट किए बिना कि आप किस शीट का जिक्र कर रहे हैं। यह जो भी सक्रिय शीट पर कार्य करेगा और इस प्रकार अप्रत्याशित समस्याओं का कारण बन सकता है, लगभग हमेशा SheetX.Range("...")
पसंद करते हैं। इसी तरह .Select
का उपयोग करने के लिए, यह अनावश्यक है, और भविष्य में केवल आपके लिए समस्याएं पैदा कर सकता है।
स्रोत
2011-06-06 12:57:13
हाँ यह सही और सही है। धन्यवाद। – user366121
हालांकि मैं एक और सबरूटीन परिभाषित: उप EnterCellValue (कोशिकाओं रेंज के रूप में) रेंज (कोशिकाओं) .Select ActiveCell.FormulaR1C1 = "एम" End Sub और इस तरह यह कहा जाता है: (": Q23 N23") और था EnterCellValue कोई समस्या नहीं। यह परेशान है। – user366121