VBA UBound फ़ंक्शन - एक्सेल VBA में UBound का उपयोग कैसे करें?

विषय - सूची

UBOUND या इसे अपर बाउंड के रूप में भी जाना जाता है, VBA में इस फ़ंक्शन का उपयोग इसके विपरीत फ़ंक्शन के साथ किया जाता है जिसे LBOUND या लोअर बाउंड फ़ंक्शन के रूप में भी जाना जाता है, इस फ़ंक्शन का उपयोग किसी कोड में एक सरणी की लंबाई को परिभाषित करने के लिए है और जैसा कि नाम से पता चलता है का उपयोग सरणी की ऊपरी सीमा को परिभाषित करने के लिए किया जाता है।

VBA UBOUND फ़ंक्शन

आप एक्सेल में सरणी की अधिकतम लंबाई कैसे बता सकते हैं? हां, हम सरणी की अधिकतम लंबाई को मैन्युअल रूप से देख और अपडेट कर सकते हैं, लेकिन यदि आप यह सब कुछ समय के लिए कर रहे हैं, तो आज इसका अंत है क्योंकि हमारे पास सरणी की अधिकतम लंबाई निर्धारित करने के लिए UBOUND नामक एक फ़ंक्शन है। एक्सेल VBA में UBOUND फ़ंक्शन के अधिक ज्ञान के लिए इस लेख का पालन करें।

UBOUND अपर बाउंड के लिए है। कोडिंग में अक्सर बार, हमें सरणी की अधिकतम लंबाई खोजने की आवश्यकता हो सकती है। उदाहरण के लिए, MyResult (24) का अर्थ है सरणी नाम MyResult 25 मान रखता है क्योंकि यह सरणी शून्य से शुरू होती है, एक से नहीं। तो 24 का अर्थ है +1, यानी कुल 25 मान।

यहाँ सरणी की अधिकतम लंबाई 24 है। मैन्युअल रूप से सरणी लंबाई की आपूर्ति करने के बजाय, हम सरणी की अधिकतम लंबाई प्राप्त करने के लिए अंतर्निहित फ़ंक्शन UBOUND का उपयोग कर सकते हैं।

कोड है: UBOUND (MyResult), यानी, UBOUND (24)

इसलिए Excel VBA UBOUND फ़ंक्शन ऊपरी आकार की सरणी आकार का प्रतिनिधित्व करता है।

एक्सेल में VBA UBound फ़ंक्शन का उपयोग कैसे करें?

VBA UBOUND का फॉर्मूला बहुत सरल है क्योंकि इसके पास केवल दो पैरामीटर हैं।

UBound (ऐरेनेम (, आयाम))
  • सरणी नाम: यह उस सरणी नाम का नाम है जिसे हमने परिभाषित किया है। उदाहरण के लिए, उपरोक्त उदाहरण में, MyResult सरणी नाम है।
  • (आयाम): यदि सरणी में एक से अधिक आयाम हैं, तो हमें सरणी के आयाम को निर्दिष्ट करने की आवश्यकता है। यदि आप इसे अनदेखा करते हैं, तो यह डिफ़ॉल्ट रूप से पहले आयाम का इलाज करेगा।

Excel VBA UBOUND फ़ंक्शन छोरों को चलाते समय छोरों की लंबाई निर्धारित करने में बहुत उपयोगी है।

एक्सेल VBA में UBOUND फ़ंक्शन के उदाहरण

नीचे VBA UBound फ़ंक्शन के व्यावहारिक उदाहरण दिए गए हैं।

उदाहरण 1

कार्यवाही शुरू करने के लिए, मुझे सरल कोड लिखना चाहिए। VBA UBOUND फ़ंक्शन को लागू करने के लिए नीचे दिए गए चरणों का पालन करें।

चरण 1: एक्सेल मैक्रो प्रारंभ करें और चर नाम को परिभाषित करें।

कोड:

उप Ubound_Example1 () मंद सरणी (0 से 4) स्ट्रिंग के रूप में

चरण 2: मैं इस सरणी नाम पर मान निर्दिष्ट करूंगा।

कोड:

उप Ubound_Example1 () मंद ऐरे लेलट्रिज़न (0 से 4) स्ट्रिंग ऐरे लेल्टीग्राफी के रूप में (0) = "हाय" एरियर लय (1) = "फ्रेंड" एरियर लय (2) = "वेलकम" एरे लेल्टीवृन्द (3) = "टू एरियर लय (4) =" "वीबीए क्लास" एंड सब

चरण 3: अब, UBOUND फ़ंक्शन के साथ एक संदेश बॉक्स का उपयोग करते हुए, हम सरणी की अधिकतम लंबाई देखेंगे।

कोड:

उप Ubound_Example1 () मंद ऐरे लेलट्रिज़न (0 से 4) स्ट्रिंग ऐरे लेल्टीग्राफी के रूप में (0) = "हाय" एरियर लय (1) = "फ्रेंड" एरियर लय (2) = "वेलकम" एरे लेल्टीवृन्द (3) = "टू एरियर लय (4) =" "VBA क्लास" MsgBox "ऊपरी बाउंड लंबाई है:" और UBound (ArrayLength) एंड सब

चरण 4: इस कोड को F5 कुंजी दबाकर चलाएं, या आप कोड को मैन्युअल रूप से भी चला सकते हैं, जैसा कि नीचे दिए गए स्क्रीनशॉट में दिखाया गया है।

संदेश बॉक्स आपको दिखाएगा कि सरणी का ऊपरी बाउंड नंबर संदेश बॉक्स में दिखाया जाएगा।

जैसे एक्सेल VBA UBOUND फ़ंक्शन का उपयोग करके, हम किसी सरणी की ऊपरी बाध्य लंबाई प्राप्त कर सकते हैं।

उदाहरण # 2 - डेटा की प्रतिलिपि बनाने के लिए एक्सेल VBA UBOUND फ़ंक्शन का उपयोग करना

मान लें कि आपके पास नीचे की तरह एक एक्सेल शीट में डेटा की एक सूची है।

यह डेटा दैनिक आधार पर अपडेट होने जा रहा है, और आपको हर बार अपडेट होने पर इस डेटा को नई शीट पर कॉपी करना होगा। इसे मैन्युअल रूप से अपडेट करने से आपके कार्यस्थल में काफी समय लगेगा, लेकिन मैं आपको इसे स्वचालित करने के लिए एक सरल मैक्रो कोड दिखाऊंगा।

चरण 1: एक मैक्रो बनाएँ और सरणी चर को परिभाषित करें।

कोड:

उप Ubound_Example2 () डिम डेटारेंज () वेरिएंट एंड सब के रूप में

चरण 2: अब अपने नाम को रेफरी करके डेटशीट को सक्रिय करें।

कोड:

उप Ubound_Example2 () डिम डेटारेंज () वेरिएंट शीट्स ("डेटा शीट") के रूप में।

चरण 3: अब नीचे दिए गए कोड का उपयोग करके परिभाषित चर के लिए डेटा रेंज असाइन करें।

कोड:

उप Ubound_Example2 () डिम DataRange () वेरिएंट शीट्स ("डेटा शीट")। DataRange = Range ("A2", Range ("A1") को सक्रिय करें। अंत (xlDown) .End (xlToRight)) End Sub।

Step 4: Now add a new worksheet to the workbook.

Code:

Sub Ubound_Example2() Dim DataRange() As Variant Sheets("Data Sheet").Activate DataRange = Range("A2", Range("A1").End(xlDown).End(xlToRight)) Worksheets.Add End Sub

Step 5: Now add the data to the newly added sheet by using the Excel VBA UBOUND function in the form of the below code.

Code:

Sub Ubound_Example2() Dim DataRange() As Variant Sheets("Data Sheet").Activate DataRange = Range("A2", Range("A1").End(xlDown).End(xlToRight)) Worksheets.Add Range(ActiveCell, ActiveCell.Offset(UBound(DataRange, 1) - 1, UBound(DataRange, 2) - 1)) = DataRange End Sub

The above code will offset the cells by the maximum length returned by the UBOUND function, and this range will be equal to the value of the array name “DataRange.

Step 6: Now run this code. It will paste the value to the new sheet.

This code is a dynamic one because even when the data increases horizontally and vertically, it will automatically take the range. Now I will add some dummy lines to the data.

Now I will once again run this code. It will now add the newly added lines as well.

Code:

उप Ubound_Example2 () डिम DataRange () वेरिएंट शीट्स ("डेटा शीट") के रूप में। DataRange = Range ("A2", Range ("A1") को सक्रिय करें। अंत (xlDown) .End (xlToRight)) Worksheets.Add रेंज (ActiveCell) , ActiveCell.Offset (UBound (DataRange, 1) - 1, UBound (DataRange, 2) - 1)) = DataRange Erase DataRange End Sub

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

  • UBOUND सरणी की अधिकतम लंबाई देता है।
  • सरणी 0 से शुरू होती है, 1 से नहीं।
  • यदि आप सरणी का निम्न मान चाहते हैं, तो आपको VBA LBOUND का उपयोग करने की आवश्यकता है।
  • यदि सरणी में एक से अधिक आयाम हैं, तो आपको आयाम संख्या भी निर्दिष्ट करने की आवश्यकता है।

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