VBA ListObjects - एक्सेल VBA में ListObject एक्सेल टेबल्स के लिए गाइड

VBA में ListObjects क्या हैं?

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

VBA ListObject, VBA कोड लिखते समय एक्सेल टेबलों को संदर्भित करने का एक तरीका है। VBA LISTOBJECTS का उपयोग करके, हम तालिका बना सकते हैं, हटा सकते हैं, और पूरी तरह से हम VBA कोड में एक्सेल टेबल के साथ खेल सकते हैं। एक्सेल टेबल्स मुश्किल, शुरुआती हैं, और यहां तक ​​कि एक हद तक, मध्यवर्ती स्तर के उपयोगकर्ताओं को तालिकाओं के साथ काम करना मुश्किल लगता है। चूंकि यह लेख VBA कोडिंग में एक्सेल टेबल को संदर्भित करने के बारे में बात करता है, इसलिए बेहतर होगा कि आपको एक्सेल में टेबल के बारे में अच्छी जानकारी हो।

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

Excel VBA में ListObjects का उपयोग करके तालिका प्रारूप बनाएँ

उदाहरण के लिए, नीचे दिए गए एक्सेल डेटा को देखें।

VBA ListObject कोड का उपयोग करते हुए, हम इस डेटा के लिए एक तालिका प्रारूप बनाएंगे।

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

कोड:

उप List_Objects_Example1 () लम्बे समय तक लम्बे LC के रूप में मंद LR उप
  • अंतिम प्रयुक्त पंक्ति और कॉलम को खोजने के लिए नीचे दिए गए कोड का उपयोग करें।

कोड:

एलआर = कोशिकाएं (पंक्तियाँ। 1,।) और (xlUp)। पंक्ति नियंत्रण रेखा = कोशिकाएँ (1, स्तंभ)
  • अब डेटा के संदर्भ को रखने के लिए एक और चर को परिभाषित करें।

कोड:

डिम रिंग रेंज के रूप में
  • अब नीचे दिए गए कोड का उपयोग करके इस चर का संदर्भ सेट करें।

कोड:

Rng = कक्ष (1, 1) .Resize (LR, LC) सेट करें

अब हमें तालिका बनाने के लिए VBA "ListObject.Add" विधि का उपयोग करने की आवश्यकता है, और नीचे उसी का वाक्यविन्यास है।

ListObject.Add (स्रोत, XlListObjectHasHeaders, गंतव्य, TableStyleName)

स्रोत: यह कुछ भी नहीं है कि हम किस श्रेणी की कोशिकाएं डाल रहे हैं। तो हम यहाँ दो तर्कों की आपूर्ति कर सकते हैं, अर्थात, "xlSrcRange" और "xlSrcExternal"।

XlListObjectHasHeaders: यदि डेटा डालने वाली तालिका में हेडर हैं या नहीं। यदि हाँ, हम “xlYes” प्रदान कर सकते हैं यदि नहीं, तो हम "xlNo" प्रदान कर सकते हैं

गंतव्य: यह कुछ और नहीं बल्कि हमारी डेटा श्रेणी है।

तालिका शैली: यदि आप कोई तालिका शैली लागू करना चाहते हैं, तो हम शैली प्रदान कर सकते हैं।

  • ठीक है, अब सक्रिय शीट में, हम तालिका बना रहे हैं, इसलिए नीचे दिया गया कोड हमारे लिए एक तालिका बनाएगा।

कोड:

कार्यस्थल सेट के रूप में डिम Ws = ActiveSheet Ws.ListObjects.Add xlSrcRange, xllistobjecthasheaders: = xlYes, गंतव्य: = Rng
  • इसके बाद, हमें इस तालिका को एक नाम देने की आवश्यकता है।

कोड:

Ws.ListObjects (1) .name = "सशक्त"
  • नीचे आपके संदर्भ के लिए पूर्ण कोड है।

कोड:

Sub List_Objects_Example1 () डिम LR, लॉन्ग LR = सेल्स (Rows.Count, 1) के रूप में डिम LR के रूप में। (xlUp) .Row LC = सेल (1, कॉलम) के रूप में। (और xlToLeft)। पूर्व-डिम Rng के रूप में रेंज करें। सेट करें Rng = Cells (1, 1) .Resize (LR, LC) डिम Ws As Worksheet सेट Ws = ActiveSheet Ws.ListObjects.Add xlSrcRange, xllistobjecthashshers: = xlYes, गंतव्य: = Rng Ws.ListObjects (1) =। एम्पेटेबल "एंड सब

ठीक है, चलो कोड चलाते हैं और जादू देखते हैं।

इसने उल्लिखित आंकड़ों के लिए तालिका बनाई है और तालिका का नाम "EmpTable" दिया है।

VBA ListObjects के साथ एक्सेल टेबल्स को फ़ॉर्मेट करना

एक बार एक्सेल टेबल बन जाने के बाद, हम VBA ListObject संग्रह का उपयोग करके तालिकाओं के साथ काम कर सकते हैं।

  • सबसे पहले, चर को "लिस्टऑब्जेक्ट" के रूप में परिभाषित करें।

कोड:

Sub List_Objects_Example2() Dim MyTable As ListObject End Sub
  • Now set the reference to this variable by using the table name.

Code:

Sub List_Objects_Example2() Dim MyTable As ListObject Set MyTable = ActiveSheet.ListObjects("EmpTable") End Sub

Now the variable “MyTable” holds the reference for the table “EmpTable.”

  • Enter the variable name and put a dot to see the properties and methods of the VBA ListObject.

For example, if we want to select the entire table, then we need to use the “Range” object, and under this, we need to use the “Select” method.

Code:

MyTable.Range.Select

This would select the entire data table, including the heading.

  • If you want to select only the contents of the table without headers, then we need to use “DataBodyRange.”

Code:

MyTable.DataBodyRange.Select

Like this, we can play around with tables.

  • आपके संदर्भ के लिए गतिविधि कोड की सूची नीचे दी गई है।

कोड:

उप List_Objects_Example2 () के रूप में मंद MyTable सूची के रूप में MyOable सेट करें। तालिका शीर्ष लेख पंक्तियों का चयन करें MyTable.ListColumns (2) .Range.Select 'शीर्षक 2 का चयन करने के लिए शीर्षक सहित

इस तरह, हम एक्सेल टेबल के साथ खेलने के लिए "ListObject" संग्रह का उपयोग कर सकते हैं।

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

  • VBA ListObject एक्सेल टेबल को रेफर करने के लिए ऑब्जेक्ट का संग्रह है।
  • पहले सूची संग्रह को एक्सेस करने के लिए, हमें यह निर्दिष्ट करना होगा कि हम किस वर्कशीट का उल्लेख कर रहे हैं।

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