सर्वश्रेष्ठ VBA गाइड (शुरुआती के लिए) आप कभी भी आवश्यकता होगी


VBA प्रोग्रामिंग प्लेटफ़ॉर्म जो लगभग सभी Microsoft Office उत्पादों पर चलता है, उन उत्पादों के उपयोग को बढ़ाने के लिए कोई भी सबसे शक्तिशाली उपकरण है जिसका उपयोग कोई भी कर सकता है।

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

<आंकड़ा वर्ग = "आलसी संरेखण आकार-बड़ा">

यह VBA गाइड Microsoft Office उत्पादों के नवीनतम संस्करण का उपयोग करता है। यदि आपके पास पहले वाला संस्करण है, तो आप स्क्रीनशॉट से कुछ मामूली अंतर देख सकते हैं।

VBA संपादक को कैसे सक्षम और उपयोग करें

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

आप सीखेंगे कि यह हमारे आगामी उन्नत VBA गाइड में कैसे करना है।

  • किसी भी कार्यालय उत्पाद में डेवलपर मेनू को सक्षम करने के लिए, फ़ाइलमेनू, और बाएं नेविगेशन मेनू से विकल्पचुनें।
  • आपको एक विकल्प मेनू पॉप-अप दिखाई देगा। बाएं नेविगेशन मेनू से रिबन कस्टमाइज़ करेंका चयन करें।
  • <आंकड़ा वर्ग = "lazy aligncenter size-large"><>s>7

    बाईं सूची में उस कार्यालय अनुप्रयोग में उपलब्ध सभी मेनू और मेनू कमांड शामिल हैं। दाईं ओर की सूची वे हैं जो वर्तमान में उपलब्ध हैं या सक्रिय हैं।

    In_content_1 all: [300x250] / dfp: [640x360]->
  • आपको दाईं ओर की सूची में डेवलपर को देखना चाहिए, लेकिन यह सक्रिय नहीं होगा। डेवलपर मेनू को सक्रिय करने के लिए बस चेकबॉक्स का चयन करें।
  • <आंकड़ा वर्ग = "आलसी संरेखण आकार-बड़ा">
  • यदि आपको दाईं ओर उपलब्ध डेवलपरदिखाई नहीं देता है, तो बाईं ओर बदलें कमांड चुनेंड्रॉपडाउन से सभी कमांड। सूची से डेवलपरढूंढें और उस मेनू को रिबन से जोड़ने के लिए केंद्र में जोड़ें >>का चयन करें।
  • ठीकचुनें। >जब आप काम कर रहे हों।
  • डेवलपर मेनू सक्रिय होने के बाद, आप अपनी मुख्य एप्लिकेशन विंडो पर वापस जा सकते हैं और शीर्ष मेनू से डेवलपरका चयन कर सकते हैं।
  • फिर VBA संपादक विंडो खोलने के लिए रिबन में नियंत्रण समूह से कोड देखेंका चयन करें।
  • <आंकड़ा वर्ग =" आलसी संरेखण आकार-बड़ा ">
  • यह VBA संपादक विंडो खोलेगा जहाँ आप अगले कुछ वर्गों में सीखे गए कोड को टाइप कर सकते हैं।
  • <आंकड़ा वर्ग = "आलसी संरेखण आकार-बड़ा">
  • आप हर दिन उपयोग किए जाने वाले कार्यालय अनुप्रयोगों में से कुछ में डेवलपर मेनू जोड़ने का प्रयास करें। । एक बार जब आप VBA संपादक विंडो खोलने में सहज हो जाएं, तो इस गाइड के अगले भाग पर जारी रखें।
  • शुरुआती के लिए सामान्य VBA प्रोग्रामिंग टिप्स

    आपको पता चल जाएगा कि जब VBA संपादक खुलता है, तो बाएं पैनल में नेविगेशन विकल्प एक कार्यालय अनुप्रयोग से दूसरे में अलग दिखता है।

    <आंकड़ा वर्ग = "आलसी एलाइन्सेन्ट साइज-लार्ज">

    इसका कारण यह है कि उपलब्ध वस्तुएं जहां आप VBA कोड रख सकते हैं, यह निर्भर करता है कि एप्लिकेशन में कौन-सी वस्तुएं हैं। उदाहरण के लिए, एक्सेल में, आप वर्कबुक या शीट ऑब्जेक्ट में VBA कोड जोड़ सकते हैं। Word में, आप दस्तावेज़ों में VBA कोड जोड़ सकते हैं। पावरपॉइंट में, केवल मॉड्यूल के लिए।

    इसलिए, अलग-अलग मेनू से आश्चर्यचकित न हों। VBA कोड की संरचना और वाक्यविन्यास सभी अनुप्रयोगों में समान है। एकमात्र अंतर वे वस्तुएँ हैं जिन्हें आप संदर्भित कर सकते हैं और आप उन वस्तुओं पर VBA कोड के माध्यम से कार्रवाई कर सकते हैं।

    इससे पहले कि हम विभिन्न वस्तुओं और क्रियाओं में गोता लगाएँ जो आप उन पर VBA कोड के माध्यम से ले सकते हैं, चलो पहले जब आप VBA कोड लिखते हैं तो सबसे आम VBA संरचना और सिंटैक्स का उपयोग कर सकते हैं।

    VBA कोड कहां रखें

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

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

    <आंकड़ा वर्ग = "आलसी संरेखण आकार-बड़ा">

    अन्य कार्यपत्रक आपके VBA कोड को ट्रिगर करने के लिए उपयोग की जाने वाली कार्रवाइयाँ शामिल हैं जब कार्यपत्रक में परिवर्तन, जब यह बंद होता है (निष्क्रिय), जब वर्कशीट गणना चलती है, और अधिक।

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

    VBA IF कथन

    एक IF VBA में कथन ठीक वैसे ही काम करता है जैसे यह किसी अन्य प्रोग्रामिंग भाषा में काम करता है।

    IF स्टेटमेंट का पहला भाग यह देखता है कि क्या कोई शर्त या सेट की स्थिति सही है। इन शर्तों को एक या OR ऑपरेटर द्वारा एक साथ जोड़ने के लिए शामिल किया जा सकता है।

    एक उदाहरण यह देखना होगा कि स्प्रेडशीट में एक ग्रेड "पासिंग" ग्रेड से ऊपर है या नहीं, और पास या असाइन करना है किसी अन्य सेल में विफल होने की स्थिति।

    यदि कोशिकाएं (2, 2)>75 तब कोशिकाएं (2, 3) = "पास" अतिरिक्त कक्ष (2, 3) = "विफल"

    यदि आप एक पंक्ति में संपूर्ण विवरण नहीं चाहते हैं, तो आप इसे लाइनों के अंत में "_" प्रतीक जोड़कर कई लाइनों में विभाजित कर सकते हैं।

    यदि कक्ष (2, 2)>75 तो _
    कक्ष (2, 3) = "पास" Else _
    कक्ष (2, 3) = "विफल"

    इस तकनीक का उपयोग करने से अक्सर कोड को पढ़ने और डीबग करने में बहुत आसान हो सकता है।

    VBA for Next Loops

    यदि एकल सेल को देखने के ऊपर दिए गए उदाहरण की तरह, यदि कथन एकल तुलना के लिए महान हैं। लेकिन क्या होगा यदि आप पूरी श्रृंखला की कोशिकाओं के माध्यम से लूप करना चाहते हैं और प्रत्येक पर एक ही IF स्टेटमेंट करते हैं?

    इस मामले में आपको एक लूप की आवश्यकता है।

    ऐसा करने के लिए, आपको एक सीमा की लंबाई का उपयोग करना होगा, और उस लंबाई के माध्यम से लूप को उन पंक्तियों की संख्या से जोड़ना होगा जिनमें डेटा है।

    ऐसा करने के लिए, आपको आवश्यकता है। रेंज और सेल चर को परिभाषित करने के लिए, और उनके माध्यम से लूप। आपको एक काउंटर को परिभाषित करने की भी आवश्यकता होगी ताकि आप परिणामों को उचित पंक्ति में आउटपुट कर सकें। तो आपके VBA कोड में सबसे पहले यह पंक्ति होगी।

    Dim rng As Range, cell as Range
    Dim rowCounter as Integer

    सीमा आकार को निम्नानुसार परिभाषित करें।

    rng = Range ("B2: B7")
    rowCounter = 2

    अंत में, आप बना सकते हैं आपके लूप को उस सीमा में प्रत्येक सेल के माध्यम से कदम बढ़ाने और तुलना करने के लिए।

    For Each cell In rng
    If cell.Value > 75 Then _ Cells(rowCounter, 3) = "Pass" Else _ Cells(rowCounter, 3) = "Fail" rowCounter = rowCounter + 1 Next cell

    एक बार यह VBA स्क्रिप्ट चला जाए, तो आप देखें वास्तविक स्प्रेडशीट में परिणाम।

    <आंकड़ा वर्ग = "आलसी संरेखण आकार-बड़ा">
    >

    VBA जबकि लूप्स

    जबकि लूप भी फॉर लूप की तरह बयानों की एक श्रृंखला के माध्यम से लूप करता है, लेकिन जारी रखने के लिए लूपिंग की स्थिति एक शर्त है सच।

    उदाहरण के लिए, आप एक ही लूप के लिए ऊपर लिख सकते हैं, एक WHILE लूप के रूप में, केवल निम्न के रूप में पंक्तिबद्ध चर का उपयोग करके।

    While rowCounter < rng.Count + 2
    If Cells(rowCounter, 2) > 75 Then _ Cells(rowCounter, 3) = "Pass" Else _ Cells(rowCounter, 3) = "Fail" rowCounter = rowCounter + 1 Wend

    । नोट: rng.Count + 2समाप्ति सीमा की आवश्यकता है क्योंकि पंक्ति काउंटर 2 से शुरू होता है और पंक्ति 7 पर समाप्त होने की आवश्यकता होती है जहां डेटा समाप्त होता है। हालाँकि, रेंज की संख्या (B2: B7) केवल 6 है, और जबकि लूप केवल तभी समाप्त होगा जब काउंटर काउंटर की तुलना में बड़ा होगा - इसलिए अंतिम पंक्ति-का मान 8 (या rng.Count + 2) होना चाहिए।

    आप लूप को निम्न प्रकार से सेट कर सकते हैं:

    जबकि rowCounter <= rng.Count + 1

    आप कर सकते हैं केवल 1 से रेंज काउंट (6) बढ़ाएँ, क्योंकि एक बार जब rowCounter वैरिएबल डेटा (पंक्ति 7) के अंत तक पहुँच जाता है, तो लूप समाप्त हो सकता है।

    VBA डू और लूप्स तक करें। / strong>

    जब तक करें और करें जब तक कि छोरों लगभग छोरों के समान न हों, लेकिन थोड़ा अलग काम करते हैं।

  • जबकि लूपजाँचता है कि क्या। लूप की शुरुआत में एक शर्त सही होती है।
  • डू-जबकि लूपयह जांचता है कि क्या लूप में कथनों को निष्पादित करने के बाद कोई शर्त सही है।
  • Do-तक लूपयह जांचता है कि क्या लूप निष्पादित करने के बाद भी कोई स्थिति गलत है।
  • इस मामले में आप फिर से लिखेंगे वह जबकि पाश के रूप में निम्नानुसार है, दो-जबकि पाश के रूप में।

    Do
    If Cells(rowCounter, 2) > 75 Then _ Cells(rowCounter, 3) = "Pass" Else _ Cells(rowCounter, 3) = "Fail" rowCounter = rowCounter + 1 Loop While rowCounter < rng.Count + 2

    इस मामले में तर्क बहुत ज्यादा नहीं बदलता है, लेकिन यदि आप तर्क को सुनिश्चित करना चाहते हैं सभी बयानों के चलने के बाद तुलना होती है (सभी को कम से कम एक बार चलाने की अनुमति देता है), फिर एक-दो या दो तक लूप सही विकल्प है।

    VBA केस स्टेटमेंट्स का चयन करें

    आपको अपने VBA कोड को स्ट्रक्चर करना शुरू करने के लिए अंतिम प्रकार के लॉजिकल स्टेटमेंट का चयन करना होगा। केस स्टेटमेंट्स का चयन करें।

    ऊपर दिए गए उदाहरण को देखते हुए, हम कहते हैं कि आप एक ग्रेडिंग विधि चाहते हैं जो केवल पास फेल न हो। इसके बजाय, आप A से F के माध्यम से एक पत्र ग्रेड असाइन करना चाहते हैं।

    आप निम्नलिखित चुनिंदा केस स्टेटमेंट के साथ ऐसा कर सकते हैं:

    For Each cell In rng
    Select Case cell Case 95 To 100 Cells(rowCounter, 3) = "A" Case 85 To 94 Cells(rowCounter, 3) = "B" Case 75 To 84 Cells(rowCounter, 3) = "C" Case 65 To 74 Cells(rowCounter, 3) = "D" Case 0 To 64 Cells(rowCounter, 3) = "F" End Select rowCounter = rowCounter + 1 Next cell

    परिणामी स्प्रेडशीट इसके बाद VBA स्क्रिप्ट रन नीचे की तरह दिखता है।

    <आंकड़ा वर्ग = "आलसी एलाइनकेंटर साइज़-लार्ज">runs आंकड़ा>

    अब आप अपने Microsoft Office अनुप्रयोगों में VBA का उपयोग शुरू करने के लिए जो कुछ भी जानना चाहते हैं, वह सब कुछ जानते हैं।

    एक्सेल VBA मूल बातें: डेटा प्रकार, मंद & amp; सेट (उन्हें सही ढंग से उपयोग करने के लिए जानें)

    संबंधित पोस्ट:

    एक्सेल में VBA ऐरे क्या है और प्रोग्राम वन कैसे है 5 Google पत्रक स्क्रिप्ट फ़ंक्शंस जो आपको जानना आवश्यक है एक्सेल में VBA मैक्रो या स्क्रिप्ट कैसे बनाएं Google डॉक्स में टेबल से बॉर्डर कैसे निकालें Google ट्रैक्स का उपयोग कैसे करें एक व्यय ट्रैकर के रूप में 10 तरीके आपके PowerPoint स्लाइड शो को अधिक बनाने के लिए आउटलुक पीएसटी फ़ाइलों को एक और प्रारूप में बल्क-कन्वर्ट कैसे करें

    29.01.2020