मैं इस श्रेणी को सेट करने में विफल क्यों हूं?


1

मैं VBA में एक सीमा को परिभाषित करने की कोशिश कर रहा हूं, लेकिन किसी कारण से मेरी विधि विफल हो जाती है। नीचे दिए गए कोड नमूने में, दो पहली लाइनें काम करती हैं, लेकिन अंतिम वस्तु " विधि 'श्रेणी के संदेश के साथ विफल हो जाती है ' _Worksheet 'विफल ":

Set c = Parametre.Range("B2")
Set c = Parametre.Range("XFD2").End(xlToLeft)
Set c = Range(Parametre.Range("B2"), Parametre.Range("XFD2").End(xlToLeft))

मैंने जाँच की है कि शीट संरक्षित नहीं है, कि दूसरा तर्क पहले वाले (यह L2) के दाईं ओर है, और इस समय मैं बहुत ज्यादा स्तब्ध हूं क्योंकि मेरा तरीका विफल है। समस्या क्या हो सकती है, इस पर कोई इनपुट बहुत सराहना की जाएगी।


मान Parametreलेना एक worksheetवस्तु है, आपका कोड पूरी तरह से मान्य है। मैंने इसे कॉपी किया + चिपका दिया और यह ठीक काम करता है, भले ही Parametreवह सक्रिय वर्कशीट न हो।
काइल

हाँ, यह मेरी धारणा भी थी, क्योंकि यह आम तौर पर मेरे अनुभव में काम करता है। यह समझ नहीं पा रहा है कि यह उदाहरण सामान्य से अलग क्या है। @ काइल
eirikdaude

जवाबों:


2

आप पैरामीटर ऑब्जेक्ट को मिस करते हैं, इसलिए यह कार्यपत्रक पर वापस डिफ़ॉल्ट होगा, और उस कारण से विफल हो जाता है। निम्नलिखित कोड का उपयोग करने का प्रयास करें:

Set c = Parametre.Range(Parametre.Range("B2"), Parametre.Range("XFD2").End(xlToLeft))

या वैकल्पिक रूप से यदि आप अधिक क्लीनर कोड लिखना चाहते हैं, तो इसका उपयोग करें:

with Parametre
    Set c = .Range("B2")
    Set c = .Range("XFD2").End(xlToLeft)
    Set c = .Range(.Range("B2"), .Range("XFD2").End(xlToLeft))
end with

ऑब्जेक्ट मौजूद है: i.imgur.com/6USk9fn.png और अगर यह विफल रहता है, क्योंकि यह वापस वर्कशीट में चूक जाता है, तो पहले दो उदाहरण भी विफल नहीं होने चाहिए? इसके अलावा, मुझे लगता है कि अमान्य फ़ंक्शन-कॉल के कारण आपकी तीसरी घोषणा विफल हो जाएगी।
एरिकाडूडे

1
आप parametre.rangeपहले दो के लिए लिखते हैं , और तीसरे में, आप केवल लिखते हैं range। VBA सीमा को समझने के लिए पर्याप्त स्मार्ट नहीं है, और इसे वर्कशीट ऑब्जेक्ट पर लागू करने की कोशिश करता है और विफल रहता है। इसे आज़माएँ और आप देखेंगे कि यह काम करता है।
LPChip

2
@eirikdaude यह सही है, हालांकि मुझे पूरी तरह से यकीन नहीं है कि पहली बार में कोड क्या कर रहा है।
रायस्टाफ़ेरियन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.