VBA ThisWorkbook - एक्सेल VBA में ThisWorkbook संपत्ति का उपयोग कैसे करें?

विषय - सूची

एक्सेल VBA ThisWorkbook

VBA ThisWorkbook का मतलब वर्कबुक है जिसमें हम एक्सेल कोड लिख रहे हैं। उदाहरण के लिए, यदि आप “Sales 2019.xlsx” नाम की कार्यपुस्तिका में काम कर रहे हैं, तो हम आमतौर पर इस तरह की कार्यपुस्तिका का संदर्भ देते हैं।

कार्यपुस्तिका ("बिक्री 2019.xlsx") सक्रिय करें

कोड "बिक्री 2019.xlsx" नाम की कार्यपुस्तिका को सक्रिय करेगा।

इस तरह लिखने के बजाय, हम बस नीचे VBA कोड लिख सकते हैं।

ThisWorkbook.Activate '

यहाँ यह वोरबुक कार्यपुस्तिका को संदर्भित करता है जहां हम कोड लिख रहे हैं। इस शब्द का उल्लेख करके, हम वर्तमान कार्यपुस्तिका में सभी कार्यों को निष्पादित कर सकते हैं और पूरी तरह से नाम वाली कार्यपुस्तिका के नाम के साथ लंबे कोड से बच सकते हैं।

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

एक्सेल VBA में ThisWorkbook के साथ काम करना

शब्द "ThisWorkbook" वर्कबुक ऑब्जेक्ट क्वालिफायर की तुलना में अधिक विश्वसनीय है। मानव प्रवृत्ति में से एक गलत तरीके से कार्यपुस्तिका का नाम टाइप कर रहा है, जिसके परिणामस्वरूप त्रुटि संदेश फेंकना है।

एक और महत्वपूर्ण कारण है कि VBA ThisWorkbook अधिक विश्वसनीय है क्योंकि अगर हम कार्यपुस्तिका का नाम बदलते हैं तो हमें कोड को बदलना होगा क्योंकि हमने "ThisWorkbook" शब्द का उपयोग किया है।

इसलिए, यह कार्यपुस्तिका उस कार्यपुस्तिका को संदर्भित करने के लिए उपयोग करने के लिए सुरक्षित है जहां हम कोड लिख रहे हैं।

उदाहरण 1

हम कुछ उदाहरण देखेंगे जहां हम एक्सेल VBA में ThisWorkbook शब्द का उपयोग कर सकते हैं। निम्न कोड कार्यपुस्तिका का नाम प्रिंट करेगा।

कोड:

सब TWB_Example1 () स्ट्रिंग WBName = ThisWorkbook.Name MsgBox WBName अंत उप के रूप में मंद WBName

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

उदाहरण # 2

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

कोड:

उप TWB_Example2 () ThisWorkbook.Activate ThisWorkbook.Worksheets ("11")। इसWorkbook को सक्रिय करें।

उपरोक्त कोड ने कोड की प्रत्येक पंक्ति में "ThisWorkbook" का उपयोग किया है। शब्द को हर बार लिखना कितना कठिन है। इसलिए, हम चर का उपयोग करके इसे कम कर सकते हैं।

अब, नीचे दिए गए कोड को चर के साथ देखें।

कोड:

उप TWB_Example2 () कार्यपुस्तिका सेट के रूप में मंद Wb = ThisWorkbook Wb.Activate Wb.Worksheets ("Sheet1")।

सुंदर लग रहा है, है ना ??

मुझे आप लोगों को कोड समझाते हैं।

सबसे पहले, मैंने चर को वर्कबुक ऑब्जेक्ट के रूप में घोषित किया है।

कार्यपुस्तिका के रूप में डिम डब्ल्यूबी

चूंकि यह एक वस्तु चर है, इसलिए हमें विशेष कार्यपुस्तिका के संदर्भ को सेट करने की आवश्यकता है। इसलिए मैंने "ThisWorkbook" संदर्भ का उपयोग किया है।

Wb = ThisWorkbook सेट करें

अब चर "Wb" को उस कार्यपुस्तिका में संदर्भित किया जाता है जहाँ हम इस समय कोड लिख रहे हैं। यहां से आगे बढ़ने की प्रक्रिया में, हमें "ThisWorkbook" शब्द का उपयोग करने की आवश्यकता नहीं है, इसके बजाय, हम चर "एडवर्ड" का उपयोग कर सकते हैं।

एक्सेल VBA में सक्रिय वर्कबुक बनाम दिसवॉर्कबुक

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

अंतर # 1: अर्थ

  • सक्रिय कार्यपुस्तिका: सक्रिय कार्यपुस्तिका आवश्यक रूप से कार्यपुस्तिका नहीं है जहां हम इस समय कोड लिख रहे हैं। यदि आपके पास कई खुली हुई कार्यपुस्तिकाएँ हैं और आपकी स्क्रीन पर जो भी कार्यपुस्तिका दिखाई देती है, उसे सक्रिय कार्यपुस्तिका माना जाता है ।
  • ThisWorkbook: ThisWorkbook हमेशा वर्कबुक होती है जहां हम इस समय कोड लिख रहे होते हैं।

अंतर 2: त्रुटि संभावना

  • सक्रिय कार्यपुस्तिका: कोडिंग में सक्रिय का उपयोग करने से कई त्रुटियां हो सकती हैं और भ्रम हो सकता है क्योंकि हम कभी नहीं जानते हैं कि कौन सी कार्यपुस्तिका सक्रिय है जब तक कि हम विशेष रूप से कार्यपुस्तिका का उल्लेख नहीं करते हैं कि सक्रिय कार्यपुस्तिका शब्द का उपयोग करने से पहले सक्रिय करें।
  • ThisWorkbook: ThisWorkbook गलत नहीं जा सकते, क्योंकि यह बात नहीं है जो कार्यपुस्तिका सक्रिय है। यह हमेशा कार्यपुस्तिका का संदर्भ लेता है जहां हम कोड लिख रहे हैं।

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