VBA संघ - एक्सेल VBA संघ का उपयोग करके कई रेंज में शामिल हों

विषय - सूची

एक्सेल VBA संघ

VBA में संघ अन्य प्रोग्रामिंग भाषाओं में संघ के समान है, VBA में हम उन पर संचालन के विभिन्न सेटों को करने के लिए दो या दो से अधिक श्रेणियों को मिलाने के लिए संघ का उपयोग करते हैं, इसके लिए उपयोग किया जाने वाला विवरण स्वयं संघ है और इसे संघ विधि कहा जाता है , उदाहरण के लिए, संघ (रेंज (बी 2: सी 7), रेंज (डी 2: ई 7)) का चयन करें और यह विधि कोशिकाओं का चयन करेगी।

संघ विधि दो या दो से अधिक श्रेणियों का संघ बनाने का कार्य करती है और परिणाम को एक RANGE वस्तु के रूप में लौटाती है। यह बिल्कुल VBA RANGE ऑब्जेक्ट के साथ नीचे दिए गए उदाहरण के समान काम करता है।

वाक्य - विन्यास

अब UNION पद्धति के सिंटैक्स पर एक नज़र डालें।

हमें न्यूनतम 2 श्रेणियों की आपूर्ति करने की आवश्यकता है।

  • Arg 1: यह उन कोशिकाओं की पहली श्रेणी है जिनकी हमें संघ बनाने की आवश्यकता है।
  • Arg 2: यह उन कोशिकाओं की दूसरी श्रेणी है जिनकी हमें एक संघ बनाने की आवश्यकता है।

पहले दो पैरामीटर अनिवार्य हैं, दो श्रेणी की कोशिकाओं का उल्लेख करने के बाद, फिर अन्य सभी तर्क वैकल्पिक हो जाते हैं।

जब डेटा को कोशिकाओं में टुकड़ों में बिखेर दिया जाता है, तो हमें एक समान कार्य करने के लिए सभी डेटा रेंज को एक साथ संयोजित करने की आवश्यकता होती है। हम सभी यूनियन रेंज के लिए समान कार्य करने के लिए एक से एक बिखरे हुए रेंज का एक संघ बना सकते हैं।

कोशिकाओं की कई श्रेणियों का चयन करने के लिए, हम आमतौर पर RANGE ऑब्जेक्ट का उपयोग कर सकते हैं। उदाहरण के लिए, यदि हम A1 से B5 और B3 से D5 तक की कोशिकाओं का चयन करना चाहते हैं, तो हम नीचे VBA कोड लिख सकते हैं।

कोड:

सब Union_Example1 () यूनियन (रेंज ("A1: B5"), रेंज ("B3: D3"))। Sub Sub चुनें।

यह नीचे की छवि की तरह कोशिकाओं की श्रेणी का चयन करेगा।

जैसा कि हम उपरोक्त चित्र में देख सकते हैं कि पहली श्रेणी A1 से B5 तक चुनी गई है, और दूसरी श्रेणी B3 से D5 तक चुनी गई है।

यह सामान्य तकनीक है जिसका हम सभी ने कोडिंग करते समय उपयोग किया है। हालाँकि, VBA में कोडिंग में यह एकमात्र तरीका नहीं है; हम दो या अधिक श्रेणियों का एक संघ बनाने के लिए "संघ" नामक एक और विधि का भी उपयोग कर सकते हैं।

एकाधिक रेंज में शामिल होने के लिए VBA संघ विधि का उपयोग कैसे करें?

उदाहरण 1

जैसा कि हमने उपरोक्त उदाहरण में किया था, वैसे ही करते हैं, लेकिन इस बार UNION पद्धति का उपयोग करके।

चरण 1 - उपप्रकार में ओपन यूनिअन फ़ंक्शन।

कोड:

उप Union_Example1 () यूनियन (अंतिम उप)

चरण 2 - RANGE ऑब्जेक्ट का उपयोग करके कोशिकाओं की पहली श्रेणी का उल्लेख करें। इस मामले में, मैं A1 से B5 के रूप में कोशिकाओं की पहली श्रेणी का उल्लेख कर रहा हूं ।

कोड:

उप Union_Example1 () यूनियन (रेंज ("A1: A5"), एंड सब

चरण 3 - अब RANGE ऑब्जेक्ट का उपयोग करके कोशिकाओं की दूसरी श्रेणी का उल्लेख करें, इस मामले में, मैं बी 3 से डी 5 के रूप में कोशिकाओं की सीमा का उल्लेख कर रहा हूं ।

कोड:

उप Union_Example1 () यूनियन (श्रेणी ("A1: A5"), श्रेणी ("B3: B5")) उप

चरण 4 - इन रेंजों के संघ बनाने के बाद, हमें यह तय करने की आवश्यकता है कि हमें कोशिकाओं के इस संघ श्रेणी के साथ क्या करने की आवश्यकता है। रखो बिंदु (।) IntelliSense सूची देखने के लिए।

कोड:

उप Union_Example1 () यूनियन (रेंज ("A1: A5"), रेंज ("B3: B5"))। अंत उप

Step 5 - We can see all the available properties and methods of these ranges.

For this example, I will change the Interior colour of union cells. For this I first I need to select the Interior property.

Code:

Sub Union_Example1() Union(Range("A1:A5"), Range("B3:B5")).Interior End Sub

Step 6 - With interior property, we can do many things, but since we need to change the colour of the union cells, I will select Color property.

Code:

Sub Union_Example1() Union(Range("A1:A5"), Range("B3:B5")).Interior.Color End Sub

Step 7 - Now, we need to set the colour property. I will use a built-in colour index property as vbGreen.

Code:

Sub Union_Example1() Union(Range("A1:A5"), Range("B3:B5")).Interior.Color = vbGreen End Sub

Step 8 - Now if I run the code colours of the union cells will be changed to Green colour.

Like this using Union method, we can create unison of two or more range of cells.

Example #2 - Use Variables to Store Range of Cells

All most all the coders use variables to store the reference of the range of cells. For example, look at the below code.

Code:

Sub Union_Example2() Dim Rng1 As Range Dim Rng2 As Range Set Rng1 = Range("A1:B5") Set Rng2 = Range("B3:D5") Union(Rng1, Rng2).Interior.Color = vbGreen End Sub

First, I have declared two variables as Range.

Dim Rng1 As Range

Dim Rng2 As Range

Then I have set the reference for these two variables.

Set Rng1 = Range(“A1:B5”)

Set Rng2 = Range(“B3:D5”)

Now variable rng1 holds the reference of Range(“A1:B5”) and the second variable rng2 holds the reference of Range(“B3:D5”).

Then I have applied UNION function to change the interior colour of these range of cells.

This also works exactly the same as the previous one, but using variable makes the code very flexible to use.

Error with Union Function

As I told all the references should be mandatory for the UNION method. For example, look at the below code.

Code:

Sub Union_Example3() Dim Rng1 As Range Dim Rng2 As Range Dim Rng3 As Range Set Rng1 = Range("A1:B5") Set Rng2 = Range("B3:D5") Union(Rng1, Rng2, Rng3).Interior.Color = vbGreen End Sub

This is similar to the previous, but here I have declared one more variable as Range.

Dim Rng3 As Range

But I have not set the reference to this variable. Rather I just supplied the variable to the UNION function.

Union(Rng1, Rng2, Rng3).Interior.Color = vbGreen

If I run this code, we will get the error like the below.

इसका कारण यह है कि हम जो भी चर को तर्क में आपूर्ति करते हैं, हमें जिस कार्यपत्रक में काम कर रहे हैं, उसमें कोशिकाओं के कुछ संदर्भ रखना चाहिए।

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