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

VBA में कस्टम क्लास और ऑब्जेक्ट कैसे बनाएं?
आइए 3 अलग-अलग कंपनियों के मोबाइल फोन के एक उदाहरण पर विचार करें, जो कि Apple, सैमसंग हैं, और Nokia- इन कंपनियों के लोकप्रिय और नए लॉन्च किए गए मोबाइल फोन पर विचार कर रहे हैं, जो iPhone X, Samsung S8 और Nokia 7+ हैं।
हम इन मोबाइल फोनों के लिए कुछ महत्वपूर्ण विशेषताओं की तुलना करेंगे, जैसे ब्रांड, मॉडल, स्क्रीन आकार, कैमरा प्रकार, और चार्जर प्रकार। ये मूल रूप से उस आधार पर महत्वपूर्ण विशेषताएं हैं। हम ज्यादातर किसी भी मोबाइल फोन की तुलना करते हैं। नीचे हमने एक चार्ट में ऊपर चर्चा किए गए मापदंडों का मानचित्रण किया है।

सम्मिलित करें मेनू से VBA विंडो में , क्लास मॉड्यूल का चयन करें , जैसा कि नीचे दिखाया गया है।

हम क्लास मॉड्यूल विंडो को विकल्प स्पष्ट के साथ शुरू करेंगे , जैसा कि नीचे दिखाया गया है।

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

अब हम एक मोबाइल फोन के संचालन, सुविधाओं और कार्यों की एक अलग प्रक्रिया जोड़ देंगे, जैसे कि एक फोन शुरू करना, फोन को स्विच करना, संगीत बजाना, बैटरी चार्ज करना, आदि प्रत्येक फ़ंक्शन के लिए उपश्रेणी नीचे दिखाए गए अनुसार। और प्रत्येक उप-श्रेणी के लूप में एक संदेश बॉक्स जोड़ें ताकि हम यह देख सकें कि वर्तमान में कौन से तरीके चल रहे हैं।
कोड:
'संभावित तकनीक उप मोबाइलस्टार्ट्स () MsgBox "मोबाइल" एंड सब "चालू कर रहा है
उप MobileOff () MsgBox "मोबाइल" सब उप को बंद कर रहा है
उप PlayMusic () MsgBox "ऑडियो सिस्टम वर्तमान में" एंड सब
उप BatteryCharge () MsgBox "चार्जर वर्तमान में प्लग-इन" एंड सब है

यह कक्षा के निर्माण को पूरा करता है। इससे पहले कि हम आगे बढ़ें, क्लास मॉड्यूल का नाम बदलने की सलाह दी जाती है। अपनी आवश्यकता के अनुसार कोई भी नाम चुनें क्योंकि हम इसे मोबाइल में बदलते हैं ।

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

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

हम मॉड्यूल का नाम बदल सकते हैं जैसे हमने कक्षा के लिए किया था। यह हमें बनाए गए VBA कोड की सह-संबंधित पहचान को बनाए रखने में मदद करता है। यह गुण विंडो से किया जा सकता है, जैसा कि नीचे दिखाया गया है।

हमने पहले से ही सभी ब्रांड मोबाइल फोन की विभिन्न विशेषताओं, कार्यों और विधियों को परिभाषित किया है। अब किसी भी नाम में 3 वेरिएबल्स को परिभाषित करें (अधिमानतः मोबाइल फोन ब्रांड के नाम पर) और इसे मोबाइल में असाइन करें। आइए पहले iPhone के साथ शुरू करें, जैसा कि नीचे दिखाया गया है।

इसी तरह, बाकी मोबाइल फोन ब्रांड के लिए भी ऐसा ही करें, जैसा कि नीचे दिखाया गया है।

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

अब iPhone के लिए With-End पाश खोलें। यह वह जगह है जहां हम मोबाइल की प्रत्येक विशेषता को परिभाषित करेंगे।

As we can see, we have assigned all the defined features of the iPhone brand from Class with specific values as String.
Do the same thing for Samsung and Nokia brand as well.

Now we will use DebugPrint to print the information on the immediate window. It is useful where we want to see a certain variable in a line of code. We will select different features for each Mobile brand, as shown below.

Now assign the MobileStarts and MobileOff functional operations, which we defined in Class to each of the mobile brands in the same module along with the Message box. You may skip the message box here.

This completes the assigning of Class to Module. Now compile the code and run using the F5 key. We will see the message of each mobile brand, as shown below.

Now, if you want to know what variables and functions have what kind of values in it, for that open the Local window from the view tab, which will help us getting the details when we compile the code as shown below.

The below code is for your Reference.
Code:
Sub VBA_Class() Dim iPhone As Mobile Dim Samsung As Mobile Dim Nokia As Mobile Set iPhone = New Mobile With iPhone .Brand = "iPhone" .Model = "iPhone X" .ScreenSize = "6.5 Inches" .CameraType = "12 MegaPixel" .ChargerType = "Regular" End With Set Samsung = New Mobile With Samsung .Brand = "Samsung" .Model = "Samsung S8" .ScreenSize = "5.8 Inches" .CameraType = "12 MegaPixel" .ChargerType = "Power" End With Set Nokia = New Mobile With Nokia .Brand = "Nokia" .Model = "Nokia 7+" .ScreenSize = "6 Inches" .CameraType = "12 MegaPixel" .ChargerType = "Power" End With Debug.Print "Phone Screen Size is: " & iPhone.ScreenSize Debug.Print "Camera of Samsung is: " & Samsung.CameraType Debug.Print "Charger Type is: " & Nokia.ChargerType iPhone.MobileStarts iPhone.MobileOff MsgBox iPhone.Model Samsung.MobileStarts Samsung.MobileOff MsgBox Samsung.Model Nokia.MobileStarts Nokia.MobileOff MsgBox Nokia.Model End Sub
Pros
- We can build our own application with a lot of features.
- Once Class is created, we can update any feature, anytime whenever we require.
- If we update the code, then also it won’t cause any problem in other parts of the Class.
- We can test the individual part of the application as per our needs.
Cons
- Initially, it takes a lot of time to create a class in VBA.
- People who are new to VBA will find the class very difficult to apply.
Things to Remember
- As the code can be huge and big, so it’s better to compile the code step-by-step. By doing this, we would avoid the N number of errors, which will be difficult for us to debug and resolve.
- We can ignore the use of Message Box if you are taking and testing the above-written code.
- परीक्षण के लिए, आप कक्षा बनाने में कम तकनीकों या कार्यों का उपयोग कर सकते हैं। इसे बाद में संशोधित किया जा सकता है जब हम अधिक उत्पाद कार्यों और तकनीकों को जोड़ना चाहते हैं।
- हमेशा समान या समान सुविधाओं पर विचार करें जब हम क्लास खत्म करते हैं और इसे एक मॉड्यूल को सौंपते हैं। यह हमें विभिन्न उत्पादों की विशेषताओं की तुलना करने में मदद करेगा।