VBA ट्यूटोरियल
VBA के साथ शुरुआत करना
खोज…
टिप्पणियों
यह खंड vba क्या है का एक सिंहावलोकन प्रदान करता है, और क्यों एक डेवलपर इसका उपयोग करना चाहता है।
यह vba के भीतर किसी भी बड़े विषयों का उल्लेख करना चाहिए, और संबंधित विषयों के लिए लिंक करना चाहिए। चूंकि vba के लिए दस्तावेज़ीकरण नया है, इसलिए आपको उन संबंधित विषयों के प्रारंभिक संस्करण बनाने की आवश्यकता हो सकती है।
संस्करण
संस्करण | कार्यालय संस्करण | रिलीज डेट नोट | रिलीज़ की तारीख |
---|---|---|---|
Vba6 | ? - 2007 | [कुछ समय बाद] [१] | 1992/06/30 |
Vba7 | 2010 - 2016 | [Blog.techkit.com] [2] | 2010-04-15 |
मैक के लिए VBA | 2004, 2011 - 2016 | 2004/05/11 |
Microsoft Office में Visual Basic संपादक तक पहुँचना
आप किसी भी Microsoft Office अनुप्रयोगों में VB संपादक को Alt + F11 दबाकर या डेवलपर टैब पर जाकर "विज़ुअल बेसिक" बटन पर क्लिक करके खोल सकते हैं। यदि आप रिबन में डेवलपर टैब नहीं देखते हैं, तो जांचें कि क्या यह सक्षम है।
डिफ़ॉल्ट रूप से डेवलपर टैब अक्षम है। डेवलपर टैब को सक्षम करने के लिए फ़ाइल -> विकल्प पर जाएं, बाईं ओर सूची में कस्टमाइज़ रिबन का चयन करें। दाईं ओर "रिबन कस्टमाइज़ करें" ट्रीव्यू डेवलपर ट्री आइटम ढूंढें और चेक करने के लिए डेवलपर चेकबॉक्स के लिए चेक सेट करें। विकल्प संवाद को बंद करने के लिए ओके पर क्लिक करें।
डेवलपर टैब अब रिबन में दिखाई दे रहा है, जिस पर आप Visual Basic Editor खोलने के लिए "Visual Basic" पर क्लिक कर सकते हैं। वैकल्पिक रूप से आप वर्तमान में सक्रिय तत्व, जैसे कि वर्कशीट, चार्ट, आकार के कोड फलक को सीधे देखने के लिए "कोड देखें" पर क्लिक कर सकते हैं।
आप वीबीए का उपयोग लगभग किसी भी कार्रवाई को स्वचालित करने के लिए कर सकते हैं जो अंतःक्रियात्मक रूप से (मैन्युअल रूप से) की जा सकती है और कार्यक्षमता प्रदान करती है जो Microsoft कार्यालय में उपलब्ध नहीं है। VBA एक दस्तावेज़ बना सकता है, इसमें टेक्स्ट जोड़ सकता है, इसे प्रारूपित कर सकता है, इसे संपादित कर सकता है और इसे सहेज सकता है, सभी बिना मानवीय हस्तक्षेप के।
पहला मॉड्यूल और हैलो वर्ल्ड
पहली बार में कोडिंग शुरू करने के लिए, आपको बाईं सूची में अपने VBA प्रोजेक्ट पर राइट क्लिक करना होगा और एक नया मॉड्यूल जोड़ना होगा। आपका पहला हैलो-वर्ल्ड कोड इस तरह दिख सकता है:
Sub HelloWorld()
MsgBox "Hello, World!"
End Sub
इसका परीक्षण करने के लिए, अपने टूलबार में Play -Button को हिट करें या बस F5 कुंजी को हिट करें। बधाई हो! आपने अपना पहला VBA मॉड्यूल बनाया है।
डिबगिंग
डीबगिंग एक बहुत ही शक्तिशाली तरीका है जो एक नज़दीकी नज़र रखता है और गलत तरीके से काम करने (या गैर-काम करने वाला) कोड को ठीक करता है।
कोड चरण दर चरण चलाएं
डिबगिंग के दौरान पहली चीज जो आपको करने की आवश्यकता है वह यह है कि कोड को विशिष्ट स्थानों पर रोकना है और फिर यह देखने के लिए लाइन से लाइन चलाएं कि क्या होता है।
- ब्रेकपॉइंट ( F9 , डीबग - टॉगल ब्रेकपॉइंट): आप किसी भी निष्पादित लाइन (जैसे घोषणाओं में नहीं) के लिए एक ब्रेकपॉइंट जोड़ सकते हैं, जब निष्पादन उस बिंदु तक पहुंचता है जो रुक जाता है, और उपयोगकर्ता को नियंत्रण देता है।
- रनटाइम पर उस स्थान पर कोड को रोकने के लिए आप एक
Stop
लाइन मेंStop
कीवर्ड भी जोड़ सकते हैं। यह उपयोगी है यदि, उदाहरण के लिए, घोषणा लाइनों से पहले जिस पर आप F9 के साथ एक ब्रेकप्वाइंट नहीं जोड़ सकते हैं - चरण ( F8 , डीबग - स्टेप इन): कोड की केवल एक पंक्ति को निष्पादित करता है, यदि वह उपयोगकर्ता द्वारा परिभाषित उप / फ़ंक्शन की कॉल है, तो वह लाइन द्वारा निष्पादित लाइन है।
- स्टेप ओवर ( Shift + F8 , डीबग - स्टेप ओवर): कोड की एक लाइन निष्पादित करता है, उपयोगकर्ता परिभाषित उप / कार्यों में प्रवेश नहीं करता है।
- स्टेप आउट ( Ctrl + Shift + F8 , डीबग - स्टेप आउट): वर्तमान सब / फ़ंक्शन (इसके अंत तक कोड चलाएँ) से बाहर निकलें।
- कर्सर को चलाएं ( Ctrl + F8 , Debug - Run to कर्सर): कर्सर के साथ लाइन तक पहुंचने तक कोड चलाएँ।
- आप
Debug.Print
का उपयोग कर सकते हैं। रनटाइम में तत्काल विंडो पर लाइनें प्रिंट करने के लिए। आपDebug.?
उपयोग भी कर सकते हैंDebug.?
Debug.Print
लिए एक शॉर्टकट के रूप में
खिड़की देखता है
लाइन द्वारा लाइन कोड चलाना केवल पहला कदम है, हमें अधिक विवरणों को जानने की जरूरत है और इसके लिए एक उपकरण है घड़ी खिड़की (देखें - खिड़की देखें), यहां आप परिभाषित अभिव्यक्तियों के मूल्यों को देख सकते हैं। घड़ी की खिड़की के लिए एक चर जोड़ने के लिए, या तो:
- उस पर राइट-क्लिक करें फिर "घड़ी जोड़ें" चुनें।
- घड़ी की खिड़की में राइट-क्लिक करें, "घड़ी जोड़ें" चुनें।
- डीबग पर जाएं - घड़ी जोड़ें।
जब आप एक नई अभिव्यक्ति जोड़ते हैं, तो आप यह चुन सकते हैं कि क्या आप इसे देखना चाहते हैं या यह सही होने पर कोड निष्पादन भी तोड़ सकते हैं या जब इसका मूल्य बदलता है।
तत्काल खिड़की
तत्काल विंडो आपको Print
कीवर्ड या एकल प्रश्न चिह्न के साथ पूर्ववर्ती कोड या प्रिंट आइटम को निष्पादित करने की अनुमति देती है " ?
"
कुछ उदाहरण:
-
? ActiveSheet.Name
- सक्रिय पत्रक का नाम देता है -
Print ActiveSheet.Name
- सक्रिय शीट का नाम लौटाता है -
? foo
- का मान देता हैfoo
* -
x = 10
सेटx
से 10 *
* तत्काल विंडो के माध्यम से चर के लिए मान प्राप्त करना / स्थापित करना केवल रनटाइम के दौरान किया जा सकता है
सर्वोत्तम प्रथाओं का डीबग करना
जब भी आपका कोड अपेक्षित पहली चीज़ के रूप में काम नहीं करता है, तो आपको इसे फिर से ध्यान से पढ़ना चाहिए, गलतियों की तलाश करना चाहिए।
यदि वह मदद नहीं करता है, तो उसे डीबग करना शुरू करें; छोटी प्रक्रियाओं के लिए यह केवल लाइन द्वारा इसे निष्पादित करने के लिए कुशल हो सकता है, लंबे समय तक लोगों के लिए शायद आपको ब्रेकपॉइंट्स को सेट करने या देखे जाने वाले अभिव्यक्तियों पर ब्रेक लगाने की आवश्यकता होती है, यहां लक्ष्य उस रेखा को खोजने का है जो अपेक्षित रूप से काम नहीं कर रहा है।
एक बार जब आपके पास वह रेखा होती है जो गलत परिणाम देती है, लेकिन कारण अभी तक स्पष्ट नहीं है, तो अभिव्यक्ति को सरल बनाने की कोशिश करें, या स्थिरांक के साथ चर को बदलें, इससे समझने में मदद मिल सकती है कि क्या चर का मूल्य गलत है।
यदि आप अभी भी इसे हल नहीं कर सकते हैं, और मदद के लिए पूछें:
- अपनी समस्या को समझने के लिए अपने कोड के छोटे से हिस्से को शामिल करें
- यदि समस्या चर के मूल्य से संबंधित नहीं है, तो उन्हें स्थिरांक द्वारा प्रतिस्थापित करें। (इसलिए,
Sheets(a*b*c+d^2).Range(addressOfRange)
बजायSheets(a*b*c+d^2).Range(addressOfRange)
Sheets(4).Range("A2")
)। - बताएं कि कौन सी रेखा गलत व्यवहार देती है, और यह क्या है (त्रुटि, गलत परिणाम ...)