2014-12-11 14 views
5

मैं काम पर डेटा संसाधित करने में मेरी सहायता के लिए एक एक्सेल मैक्रो लिख रहा हूं, और अब जब मैंने कोड लिखना समाप्त कर दिया है तो मुझे त्रुटियां मिल रही हैं क्योंकि माइक्रोसॉफ्ट विजुअल बेसिक बदलता रहता है। । जब भी ऐसा होता है तो मुझे संकलन त्रुटि मिलती है क्योंकि विधि मौजूद नहीं है।वीबीए स्वचालित रूप से बदल रहा है। रेंज टू .ेंज

क्या इसे ठीक करने के लिए वैसे भी है? क्या उपयोग करने के लिए कोई रास्ता है। अगर वहाँ नहीं है तो रेंज? जब तक मेरा कोड बदलता रहता है तब तक .ेंज से .ेंज में यह त्रुटियों को थूकना जारी रखेगा।

हल किया गया: त्रुटि विधि में रूट नहीं थी लेकिन डेटा सदस्य जो इससे पहले था।

+2

के तथ्य यह है कि '.range' लोअर केस में प्रकट होता है त्रुटियों संकलन का कारण नहीं होना चाहिए परिवर्तित करना चाहिए। यदि आप उस ऑब्जेक्ट की 'रेंज' संपत्ति का जिक्र कर रहे हैं जो आपको समर्थन नहीं देता है तो आपको केवल 438 त्रुटि मिल जाएगी। (वीबीए विधियों और गुण केस संवेदनशील नहीं हैं) – Rory

+0

अपराधी ".ेंज" पर क्लिक करें और Shift + F2 दबाएं। यह आपको लोअरकेस "रेंज" –

+1

की परिभाषा में ले जाना चाहिए क्या आप विकल्प स्पष्टीकरण का उपयोग कर रहे हैं? –

उत्तर

0

जब आपने 'रेंज' जैसे कई बार शब्दों का उपयोग किया है, तो स्वत: सुधार 'रेंज' मान को 'श्रेणी' में बदल देगा। इस विधि को 'रेंज' में मैन्युअल रूप से बदलने का प्रयास करें और सुनिश्चित करें कि आपके पास 'रेंज' जैसी कोई चर नहीं है।

4

संपादित करें: ओ.पी. ने कहा:

हल: त्रुटि विधि लेकिन डेटा सदस्य उसके पहले में निहित नहीं था।

हालांकि, एक लोअरकेस विधि के संबंधित मुद्दों एक चर या नियमित जो आप range नामित बनाने से आ सकता है और प्रणाली है कि परिभाषा के आधार पर स्वत: परिवर्तन मामला होगा। आपको Range() जैसी परिभाषित प्रक्रिया के समान नाम के साथ एक चर या दिनचर्या कभी नहीं बनाना चाहिए। @RubberDuck ने उल्लेख किया:

यह वीबी जा रहा है मामले असंवेदनशील और आईडीई "मददगार" बनने की कोशिश कर का एक पक्ष प्रभाव है।

+0

मैं बस यह जोड़ूंगा कि यह वीबी का दुष्प्रभाव मामला असंवेदनशील है और आईडीई "सहायक" होने का प्रयास कर रहा है। – RubberDuck

+2

मैंने अभी चेक किया है। मेरे पास वर्तमान में सीमा का नाम नहीं है। मेरे पास पहले एक रेंज नामक चर है, लेकिन इसे हटा दिया गया है। –

+0

मैंने देखा है कि लोअरकेस रेंज वैरिएबल को हटाने के बावजूद, वीबीए फिर से खोलने तक लोअरकेस रेंज में कनवर्ट करना जारी रखेगा। –

7

कोशिश अपने कोड में एक रेंज के रूप में रेंज की घोषणा कहीं (मामले पर ध्यान दें):

Dim Range As Range 

तो बयान को हटा दें।

यह आपके सभी rangeRange

संबंधित मुद्दे