<पी> एक्सेल विज़ुअल बेसिक फॉर एप्लिकेशन (वीबीए) एक शक्तिशाली प्रोग्रामिंग भाषा है। वीबीए आपको कार्यों को स्वचालित करने, कस्टम फ़ंक्शन बनाने और स्प्रेडशीट कार्यक्षमता को बढ़ाने की अनुमति देता है। यदि आप वीबीए से शुरुआत कर रहे हैं, तो मैक्रो, मॉड्यूल और प्रक्रिया जैसे प्रमुख शब्दों को समझना आवश्यक है। ये अवधारणाएँ आपस में जुड़ी हुई हैं लेकिन अलग-अलग उद्देश्यों को पूरा करती हैं। <पी> इस ट्यूटोरियल में, हम एक्सेल वीबीए शब्दावली पर चर्चा करेंगे:मैक्रो बनाम मॉड्यूल बनाम प्रक्रिया। आरंभ करने में आपकी सहायता के लिए हम उन्हें स्पष्टीकरण, उदाहरण और व्यावहारिक युक्तियों के साथ तोड़ देंगे। <पी> आगे बढ़ने के लिए, आपको डेवलपर टैब सक्षम होने के साथ Excel (2007 के बाद का कोई भी संस्करण) की आवश्यकता होगी।
- यदि यह दिखाई नहीं दे रहा है, तो फ़ाइल पर जाएँ टैब>> विकल्प चुनें>> कस्टमाइज़ रिबन चुनें>> डेवलपर चुनें दाहिनी ओर
1. मैक्रो क्या है?
<पी> मैक्रो VBA में सबसे उपयोगकर्ता-अनुकूल प्रवेश बिंदु है। यह अनिवार्य रूप से निर्देशों का एक रिकॉर्ड किया हुआ या लिखित सेट है जो एक्सेल में दोहराए जाने वाले कार्यों को स्वचालित करता है। एक्सेल के मैक्रो रिकॉर्डर का उपयोग करके मैक्रोज़ को गहन प्रोग्रामिंग ज्ञान के बिना बनाया जा सकता है। यह आपके कार्यों को कैप्चर करता है, जैसे सेल को फ़ॉर्मेट करना या सूत्र सम्मिलित करना, और उन्हें VBA कोड में परिवर्तित करता है। <पी> व्यावहारिक रूप में, जब लोग कहते हैं "मैंने एक मैक्रो रिकॉर्ड किया" या "मैंने एक मैक्रो लिखा," वे आम तौर पर एक मॉड्यूल में संग्रहीत उप प्रक्रिया के बारे में बात कर रहे होते हैं। एक्सेल का मैक्रो रिकॉर्डर स्वचालित रूप से उप प्रक्रियाएं बनाता है। <पी> मुख्य विशेषताएं: पी>- उद्देश्य: समय बचाने के लिए कार्यों को स्वचालित करें. उदाहरण के लिए, एक मैक्रो एक क्लिक से डेटा को सॉर्ट कर सकता है, फ़िल्टर लागू कर सकता है या रिपोर्ट तैयार कर सकता है।
- बनाने का तरीका:
- रिकॉर्ड किया गया: सरल कार्यों के लिए मैक्रो रिकॉर्डर का उपयोग करें।
- लिखित: अधिक जटिल तर्क के लिए VBA संपादक में कोड को मैन्युअल रूप से संपादित करें या लिखें।
- दायरा: मैक्रोज़ आमतौर पर कार्यपुस्तिकाओं में संग्रहीत होते हैं और इन्हें बटन, शॉर्टकट या मैक्रोज़ संवाद से चलाया जा सकता है।
- सीमाएं: रिकॉर्ड किए गए मैक्रोज़ में अक्सर अनावश्यक कोड शामिल होते हैं (उदाहरण के लिए, सेल का चयन करना), और सेल संदर्भ जटिल दिख सकते हैं, इसलिए उन्हें अक्सर मैन्युअल रूप से साफ़ किया जाता है।
उदाहरण:एक साधारण मैक्रो बनाना और चलाना
- डेवलपर के पास जाएं टैब>> रिकॉर्ड मैक्रो चुनें
- इसे ApplyFormat नाम दें (कोई रिक्त स्थान नहीं)>> यदि चाहें तो एक शॉर्टकट निर्दिष्ट करें>> ओके पर क्लिक करें
- कार्य करें:
- शीर्षलेख चुनें
- घर पर जाएं टैब>> बोल्ड चुनें
- लागू करें भरें रंग और फ़ॉन्ट रंग
- रिकॉर्डिंग बंद करें:डेवलपर पर जाएं टैब>> रिकॉर्डिंग रोकें पर क्लिक करें
<पी> पर्दे के पीछे, एक्सेल इस प्रकार VBA कोड उत्पन्न करता है: Sub ApplyFormat()
'
' ApplyFormat Macro
'
' Keyboard Shortcut: Ctrl+Shift+F
'
Range("A1:G1").Select
Selection.Font.Bold = True
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorAccent6
.TintAndShade = -0.249977111117893
.PatternTintAndShade = 0
End With
With Selection.Font
.ThemeColor = xlThemeColorDark1
.TintAndShade = 0
End With
End Sub
- यह एक Sub (Subroutine का संक्षिप्त रूप) है, जो एक प्रकार की प्रक्रिया है
<पी> मैक्रो चलाएँ: पी> - डेवलपर के पास जाएं टैब>> मैक्रोज़ चुनें
- आवेदन प्रारूप चुनें>>चलाएँ चुनें
- या Ctrl+Shift+F दबाएँ
<पी> अब आप कोडिंग विशेषज्ञता के बिना त्वरित स्वचालन के लिए मैक्रो बना और उपयोग कर सकते हैं। 2. प्रक्रिया क्या है?
<पी> एक प्रक्रिया सबसे मौलिक इकाई है; यह VBA कोड का एक ब्लॉक है जो एक विशिष्ट कार्य करता है। इसे निर्देशों के एक सेट के रूप में सोचें जिनका एक्सेल आपके चलाते समय अनुसरण करता है। प्रक्रियाएं वहां होती हैं जहां वास्तविक तर्क रहता है; उन्हें अन्य भाषाओं में फ़ंक्शन या विधियों के रूप में सोचें। <पी> मुख्य विशेषताएं: पी>- प्रकार:
- उप प्रक्रिया (उप): क्रियाएँ करता है लेकिन कोई मान नहीं लौटाता। वीबीए संदर्भ में अधिकांश लोगों का "मैक्रो" से यही मतलब है। यह सब से शुरू होता है और एंड सब पर ख़त्म होता है।
- कार्य प्रक्रिया (कार्य): गणना करता है और एक मान लौटाता है। यह Function से प्रारंभ होता है और End Function पर समाप्त होता है। वर्कशीट में कस्टम फ़ार्मुलों के लिए उपयोगी।
- उद्देश्य: पुन:प्रयोज्य कोड बनाता है. प्रक्रियाओं में लूप, स्थितियाँ, चर और एक्सेल ऑब्जेक्ट (जैसे सेल या चार्ट) के साथ इंटरैक्शन शामिल हो सकते हैं।
- दायरा: सार्वजनिक (कहीं से भी पहुंच योग्य) या निजी (मॉड्यूल तक सीमित) हो सकता है।
- पैरामीटर: लचीलेपन के लिए इनपुट (तर्क) स्वीकार कर सकते हैं।
उदाहरण:एक उप प्रक्रिया बनाम एक कार्य प्रक्रिया
- डेवलपर के पास जाएं टैब>> विजुअल बेसिक चुनें (या Alt+F11 दबाएँ )
- सम्मिलित करें क्लिक करें>> मॉड्यूल चुनें
Sub ClearFormatting()
Range("A1:G1").ClearFormats
MsgBox "Formatting is cleared"
End Sub
- फ़ॉर्मेटिंग साफ़ करने के लिए कोड चलाएँ, फिर “फ़ॉर्मेटिंग साफ़ हो गई है” बताते हुए एक संदेश प्रदर्शित करें
<पी> कार्य प्रक्रिया: पी> Function Multiply(num1 As Integer, num2 As Integer) As Integer Multiply = num1 * num2 End Function
- मानों को गुणा करने के लिए =Multiply(E2,F2) जैसे सेल में इसका उपयोग करें
<पी> मैक्रोज़ से संबंध: सभी मैक्रोज़ उप प्रक्रियाएँ हैं, लेकिन सभी उप प्रक्रियाएँ रिकॉर्ड किए गए मैक्रोज़ नहीं हैं। आप उन्नत उप प्रक्रियाएं लिख सकते हैं जो साधारण रिकॉर्डिंग से परे हैं। <पी> जब आपको संरचित, पुन:प्रयोज्य कोड की आवश्यकता हो तो प्रक्रियाओं का उपयोग करें। बेहतर संगठन के लिए जटिल कार्यों को कई प्रक्रियाओं में विभाजित करें। 3. मॉड्यूल क्या है?
<पी> मॉड्यूल एक कंटेनर है जहां हम एक या अधिक प्रक्रियाओं को संग्रहीत करते हैं। यह VBA संपादक में एक फ़ाइल है जहाँ आप अपना VBA कोड लिखते और व्यवस्थित करते हैं। यह एक फ़ोल्डर की तरह है जो आपके कोड को व्यवस्थित करता है, जिससे इसे प्रबंधित करना और पुन:उपयोग करना आसान हो जाता है। <पी> मॉड्यूल के प्रकार: पी>- मानक मॉड्यूल: सबसे सामान्य प्रकार, जहां आप सामान्य प्रयोजन कोड लिखते हैं।
- ये आपके VBA प्रोजेक्ट एक्सप्लोरर में "मॉड्यूल1", "मॉड्यूल2" आदि के रूप में दिखाई देते हैं।
- VBA संपादक खोलें>> सम्मिलित करें पर क्लिक करें>> मॉड्यूल चुनें .
- वर्कबुक मॉड्यूल (यहवर्कबुक): कोड को कार्यपुस्तिका ईवेंट (खुला, बंद करने से पहले, आदि) से बांध कर रखता है।
- इवेंट प्रक्रियाएं जो किसी कार्यपुस्तिका को खोलने या बंद करने जैसी क्रियाओं पर प्रतिक्रिया देती हैं
- वर्कशीट मॉड्यूल (शीट1, शीट2, आदि): ये विशिष्ट शीटों से जुड़े विशेष मॉड्यूल हैं।
- उनमें इवेंट प्रक्रियाएं होती हैं जो शीट पर क्लिक करने जैसी क्रियाओं पर प्रतिक्रिया देती हैं, और शीट बदलने पर कोड चलता है।
- कक्षा मॉड्यूल: ये मॉड्यूल उन्नत मॉड्यूल हैं जिनका उपयोग कस्टम ऑब्जेक्ट बनाने के लिए किया जाता है, लेकिन प्रारंभ करते समय आपको इनकी आवश्यकता नहीं होगी। इसका उपयोग ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग के लिए किया जाता है, जैसे कस्टम क्लास बनाना।
- यूजरफॉर्म मॉड्यूल: कस्टम डायलॉग बॉक्स डिज़ाइन करने के लिए.
उदाहरण:मॉड्यूल के साथ कार्य करना
- डेवलपर के पास जाएं टैब>> विजुअल बेसिक चुनें (या Alt+F11 दबाएँ )
- प्रोजेक्ट एक्सप्लोरर (बाएं फलक) में,
- अपनी कार्यपुस्तिका पर राइट-क्लिक करें>> सम्मिलित करें पर क्लिक करें>> मॉड्यूल चुनें
- इसमें एक प्रक्रिया को कॉपी-पेस्ट करें:
Sub FormatSalesReport()
Dim ws As Worksheet
Set ws = ActiveSheet
Dim lastRow As Long
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
ws.Range("A1:H1").Font.Bold = True
ws.Range("A1:H" & lastRow).Borders.LineStyle = xlContinuous
Dim i As Long
For i = 2 To lastRow
If ws.Cells(i, "H").Value > 100 Then ws.Cells(i, "H").Interior.Color = RGB(0, 255, 0)
Next i
End Sub
- यह VBA कोड डेटा को प्रारूपित करता है और कॉलम H में 100 से अधिक मानों को हाइलाइट करता है
- कार्यपुस्तिका सहेजें
- अब, यह प्रक्रिया मैक्रो के रूप में उपलब्ध है
- F5 दबाएँ या चलाएँ क्लिक करें
<पी> मैक्रोज़ और प्रक्रियाओं के साथ संबंध: पी> - मॉड्यूल पकड़ प्रक्रियाएं
- मैक्रोज़ उप प्रक्रियाएं हैं मॉड्यूल में संग्रहीत
- मॉड्यूल के बिना एक मैक्रो? संभव नहीं है, क्योंकि सभी VBA कोड किसी न किसी प्रकार के मॉड्यूल के अंदर रहते हैं।
वे एक साथ कैसे फिट होते हैं:मैक्रो → प्रक्रिया → मॉड्यूल
<पी> मैक्रो एक उप प्रक्रिया के लिए उपयोगकर्ता-सामना करने वाला शब्द है। प्रक्रियाएं कोड ब्लॉक हैं। संगठन के लिए मॉड्यूल समूह प्रक्रियाएं। <पी> वर्कफ़्लो उदाहरण: पी>- एक मैक्रो रिकॉर्ड करें → यह एक नए मॉड्यूल (अक्सर "मॉड्यूल1") में एक उप प्रक्रिया बनाता है
- इसे परिष्कृत करने के लिए प्रक्रिया को संपादित करें
- उसी मॉड्यूल में अधिक प्रक्रियाएं जोड़ें या नए मॉड्यूल बनाएं
सर्वोत्तम अभ्यास और युक्तियाँ
- नामकरण परंपराएँ: सब मैक्रो1() के बजाय सब कैलकुलेटटोटलसेल्स() जैसे वर्णनात्मक नामों का उपयोग करें। रिक्त स्थान से बचें; कैमलकेस का उपयोग करें।
- त्रुटि प्रबंधन: त्रुटि फिर से शुरू करें अगला जोड़ें या त्रुटि GoTo ErrorHandler पर प्रक्रियाओं में उन्हें और अधिक मजबूत बनाने के लिए।
- सुरक्षा :मैक्रोज़ कोड चला सकते हैं, इसलिए उन्हें केवल विश्वसनीय स्रोतों से ही सक्षम करें (फ़ाइल>> विकल्प>> ट्रस्ट सेंटर>> मैक्रो सेटिंग्स ).
- डिबगिंग: VBA संपादक में कोड के माध्यम से चरणबद्ध तरीके से आगे बढ़ने के लिए F8 का उपयोग करें।
- उन्नत युक्ति: कार्यपुस्तिकाओं में कोड का पुन:उपयोग करने के लिए मॉड्यूल (.bas फ़ाइलें) निर्यात करें।
- सामान्य नुकसान: एक्सेल मैक्रोज़ को ऑफिस स्क्रिप्ट्स (नए एक्सेल संस्करणों में जावास्क्रिप्ट-आधारित) के साथ भ्रमित न करें। डेस्कटॉप ऑटोमेशन के लिए VBA अधिक शक्तिशाली है।