VBA परिवर्तनीय रेंज - एक्सेल VBA में चर रेंज के उदाहरण

एक्सेल VBA रेंज में चर

चर किसी भी बड़ी VBA परियोजनाओं का दिल और आत्मा हैं क्योंकि चर हृदय और आत्मा हैं, फिर हम उन्हें जिस प्रकार का डेटा टाइप करते हैं, वह भी उस संबंध में एक बहुत महत्वपूर्ण कारक है। हमारे कई पहले के लेखों में, हमने चर और उनके डेटा प्रकार के महत्व के बारे में बहुत बार चर्चा की है। इस विशेष समर्पित लेख में एक ऐसा वैरिएबल और डेटा टाइप "रेंज वेरिएबल" है। हम एक्सेल VBA में "रेंज वेरिएबल" पर एक पूर्ण गाइड देंगे।

एक्सेल VBA में रेंज वेरिएबल क्या है?

VBA में हर दूसरे वेरिएबल रेंज की तरह, वैरिएबल भी एक वैरिएबल है, लेकिन यह एक "ऑब्जेक्ट वेरिएबल" है, जिसका उपयोग हम कोशिकाओं की विशिष्ट रेंज के संदर्भ को सेट करने के लिए करते हैं।

किसी भी अन्य वैरिएबल की तरह, हम वैरिएबल को कोई भी नाम दे सकते हैं, लेकिन जो डेटा टाइप हम उन्हें देते हैं, वह "रेंज" होना चाहिए। एक बार जब डेटा प्रकार को चर को सौंपा जाता है, तो यह "ऑब्जेक्ट चर" बन जाता है और दूसरे चर के विपरीत, ऑब्जेक्ट चर के मामले में वस्तुओं के संदर्भ को निर्धारित करने से पहले हम चर का उपयोग शुरू नहीं कर सकते हैं।

इसलिए, जब हम चर घोषित करते हैं, तो हमें इस मामले में ऑब्जेक्ट रेफरेंस यानी रेंज ऑब्जेक्ट को सेट करने के लिए "SET" कीवर्ड का उपयोग करना होगा ।

ठीक है, अब हम एक्सेल VBA रेंज वेरिएबल्स के कुछ उदाहरणों को व्यावहारिक रूप से देखेंगे।

एक्सेल VBA में रेंज वेरिएबल के उदाहरण

उदाहरण के लिए, मान लें कि आप नीचे स्क्रीनशॉट छवि के लिए A2 से B10 तक की कोशिकाओं का चयन करना चाहते हैं।

कक्षों की इस उल्लिखित श्रेणी का चयन करने के लिए, हमारे पास RANGE ऑब्जेक्ट होने पर, और रेंज ऑब्जेक्ट के अंदर, हमने सेल एड्रेस को डबल-कोट्स में उल्लेख किया है।

कोड:

सब रेंज_Variable_Example () रेंज ("A2: B10") एंड सब

एक बार कक्षों की श्रेणी को RANGE ऑब्जेक्ट का उपयोग करके उल्लेख किया गया है, यदि आप एक डॉट डालते हैं, तो हम इस रेंज ऑब्जेक्ट से जुड़े सभी गुण और तरीके देखेंगे।

कोड:

सब रेंज_Variable_Example () रेंज ("A2: B10")। अंत उप

चूंकि हमें उल्लेखित कोशिकाओं का चयन करना आसान है, इसलिए IntelliSense सूची से "चयन करें" विधि चुनें।

कोड:

सब रेंज_Variable_Example () रेंज ("A2: B10")। सब एंड को चुनें

कोड चलाएं, और यह उल्लिखित कोशिकाओं का चयन करेगा।

यह स्पष्ट है, यह नहीं है, लेकिन "वी (" ए 2: ए 10 ") के समान कोड को लिखने में 100 बार लंबे वीबीए प्रोजेक्ट में एक ही रेंज का उपयोग करने के परिदृश्य की कल्पना करें, 100 बार कुछ समय लगेगा, लेकिन इसके बजाय हम चर की घोषणा करेंगे और डेटा प्रकार को "रेंज" ऑब्जेक्ट के रूप में असाइन करेंगे।

ठीक है, चलो एक चर को अपना नाम देते हैं और डेटा प्रकार को "रेंज" के रूप में निर्दिष्ट करते हैं।

"ऑब्जेक्ट वेरिएबल्स" के अलावा, हम उनके नाम से चर का उपयोग करना शुरू कर सकते हैं, लेकिन "ऑब्जेक्ट वेरिएबल्स" के मामले में, हमें संदर्भ सेट करने की आवश्यकता है।

उदाहरण के लिए, इस मामले में, हमारी चर (Rng) ऑब्जेक्ट एक सीमा है, इसलिए हमें "Rng" शब्द के संदर्भ को सेट करने की आवश्यकता है। संदर्भ सेट करने के लिए, हमें "सेट" कीवर्ड का उपयोग करना होगा।

Now the variable “Rng” refers to the range of cells from A2 to B10. Instead of writing “Range(“A2:B10”))” every time, we can simply write the word “Rng.”

In the next line, mention the variable name “Rng” and put a dot to see the magic.

As you can see above, we can see all the properties and methods of range objects like the previous one.

Make the Variable Dynamic

Now we know how to set the reference to the range of cells, but once we mention the range of cells, it sticks to those cells only. Any addition or deletion of cells will not impact those cells.

So, finding the new range of cells after any addition or deletion of cells makes the variable dynamic in nature. This is possible by finding the last used row and column.

To find the last used row and column, we need to define two more variables.

Code:

Sub Range_Variable_Example() Dim Rng As Range Dim LR As Long 'LR = Last Row for Understanding Dim LC As Long 'LC = Last Column for Understanding End Sub

Now below code will find the last used row & column before we set the reference to a range object variable.

Code:

Sub Range_Variable_Example() Dim Rng As Range Dim LR As Long 'LR = Last Row for Understanding Dim LC As Long 'LC = Last Column for Understanding LR = Cells(Rows.Count, 1).End(xlUp).Row LC = Cells(1, Columns.Count).End(xlToLeft).Column End Sub

Now open the “Set” keyword statement.

Code:

Sub Range_Variable_Example() Dim Rng As Range Dim LR As Long 'LR = Last Row for Understanding Dim LC As Long 'LC = Last Column for Understanding LR = Cells(Rows.Count, 1).End(xlUp).Row LC = Cells(1, Columns.Count).End(xlToLeft).Column Set Rng = End Sub

Unlike the previous method, we use VBA CELLS properties this time.

Code:

Sub Range_Variable_Example() Dim Rng As Range Dim LR As Long 'LR = Last Row for Understanding Dim LC As Long 'LC = Last Column for Understanding LR = Cells(Rows.Count, 1).End(xlUp).Row LC = Cells(1, Columns.Count).End(xlToLeft).Column Set Rng = Cells(1, 1) End Sub

I have mentioned Cells(1,1), i.e., this refers to the first cell in the active sheet, but we need the data range reference, so use the “RESIZE” property and mention “last used row & column” variables.

Code:

Sub Range_Variable_Example() Dim Rng As Range Dim LR As Long 'LR = Last Row for Understanding Dim LC As Long 'LC = Last Column for Understanding LR = Cells(Rows.Count, 1).End(xlUp).Row LC = Cells(1, Columns.Count).End(xlToLeft).Column Set Rng = Cells(1, 1).Resize(LR, LC) End Sub

अब यह श्रेणी वस्तु चर के नवीनतम संदर्भ को सेट करेगा "Rng।" अगला, चर नाम का उल्लेख करें और "चयन करें" विधि का उपयोग करें।

सब रेंज_Variable_Example () डिम रींग अस रेंज डिम LR ’लॉन्ग Last LR = लॉन्ग रो अंडरस्टैंडिंग डिम LC LC लॉन्ग’ LC = अंडरस्टैंडिंग अंडर LR = सेल्स (Rows.Count, 1) .End (xlUp) .Row LC = सेल्स। (1, कॉलम कॉलम)। और (xlToLeft)। कॉलम सेट सेल = (1, 1) .Resize (LR, LC) Rng.Select End Sub

अब मैं अपने डेटा में कुछ और लाइनें जोड़ूंगा।

मैंने डेटा की तीन अतिरिक्त लाइनें जोड़ी हैं। यदि मैं अभी कोड चलाता हूं, तो उसे नवीनतम डेटा श्रेणी का चयन करना चाहिए।

याद रखने वाली चीज़ें

  • एक्सेल VBA में रेंज वेरिएबल एक ऑब्जेक्ट वेरिएबल है।
  • जब भी हम ऑब्जेक्ट चर का उपयोग करते हैं, तो हमें "सेट" कीवर्ड का उपयोग करने और चर के ऑब्जेक्ट ऑब्जेक्ट को सेट करने की आवश्यकता होती है।
  • संदर्भ सेट किए बिना, हम ऑब्जेक्ट चर का उपयोग नहीं कर सकते।

दिलचस्प लेख...