प्रत्येक लूप के लिए VBA का उपयोग कैसे करें? (एक्सेल उदाहरणों के साथ)

प्रत्येक लूप के लिए एक्सेल VBA

प्रत्येक लूप के लिए VBA वस्तुओं या वस्तुओं के सभी संग्रह के माध्यम से जाता है और गतिविधियों का एक समान सेट करता है। यह सभी उपलब्ध निर्दिष्ट वस्तुओं को ध्यान में रखेगा और प्रत्येक वस्तु में निर्देशात्मक गतिविधि करेगा।

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

वाक्य - विन्यास

प्रत्येक लूप के लिए वस्तुओं या वस्तुओं के सभी सेट संग्रह के माध्यम से लूप कर सकते हैं। एक समूह और कुछ नहीं है, लेकिन "सभी खुली हुई कार्यपुस्तिकाएँ," "सभी कार्यपुस्तिका में सभी कार्यपत्रक," "कार्यपुस्तिका में सभी आकार और चार्ट का संग्रह।"

सिंटेक्स पर नजर डालते हैं।

संग्रह में प्रत्येक वस्तु के लिए क्या करना है? अगली वस्तु

उदाहरण के लिए, आपके पास अपनी कार्यपुस्तिका में 10 शीट हैं, और आप जो भी कार्य कर रहे हैं, उसे छोड़कर सभी कार्यपत्रकों को छिपाना चाहते हैं। क्या आप मैन्युअल रूप से छिपा सकते हैं? हाँ, आप कर सकते हैं, लेकिन क्या होगा अगर आपके पास 100 चादरें हैं? क्या यह एक थकाऊ और समय लेने वाला कार्य नहीं है? आप प्रत्येक लूप के लिए इसका उपयोग कर सकते हैं।

VBA में प्रत्येक लूप के लिए उपयोग कैसे करें? (उदाहरण)

उदाहरण # 1 - सभी पत्रक में समान पाठ सम्मिलित करें

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

हम इसे EACH LOOP के साथ कर सकते हैं। एक बात जो आपको याद रखने की आवश्यकता है कि हम इस गतिविधि को प्रत्येक वर्कशीट में कर रहे हैं, एक ही वर्कशीट में नहीं। VBA कोड लिखने के लिए नीचे दिए गए चरणों का पालन करें।

चरण 1: एक्सेल मैक्रो प्रारंभ करें।

कोड:

उप For_Each_Example1 () उप सब

चरण 2: चूंकि हम वर्कशीट का उल्लेख कर रहे हैं, चर को "वर्कशीट" घोषित करें।

कोड:

उप For_Each_Example1 () डिम Ws As Worksheet अंत उप

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

कोड:

उप For_Each_Example1 () डिमांड Ws के रूप में कार्यपत्रक में प्रत्येक W के लिए ActiveWorkbook.Worksheets अगला Ws अंत उप

चरण 4: अब, लिखें कि हम प्रत्येक कार्यपत्रक में क्या करना चाहते हैं। प्रत्येक कार्यपत्रक में, हमें सेल A1 में "हैलो" शब्द डालना होगा।

कोड:

उप For_Each_Example1 () डिम Ws के रूप में कार्यपत्रक प्रत्येक W के लिए ActiveWorkbook.Worksheets Ws.Range ("A1") में। मान = "नमस्ते" अगला Ws अंत उप।

चरण 5: अब इस कोड को मैन्युअल रूप से विकल्प के माध्यम से चलाएं या शॉर्टकट कुंजी F5 दबाएं। इससे कोई फर्क नहीं पड़ता कि आपके पास कितनी चादरें हैं; यह सभी कार्यपत्रकों में शब्द "हैलो" सम्मिलित करेगा।

उदाहरण # 2 - सभी पत्रक छिपाएं

जैसा कि पहले पोस्ट में बताया गया है, यदि आपके पास एक को छोड़कर, छिपाने के लिए सैकड़ों शीट हैं, तो प्रत्येक लूप का उपयोग करके, हम एक्सेल में सभी शीट छिपा सकते हैं।

चरण 1: अपने नाम के साथ मैक्रो प्रारंभ करें।

कोड:

उप For_Each_Example2 () समाप्ति उप

चरण 2: चर को " डब्ल्यूएस " घोषित करें

कोड:

उप For_Each_Example2 () डिम Ws के रूप में कार्यपत्रक समाप्ति उप

चरण 3: अब, प्रत्येक कार्यपत्रक में, आपको जो करने की आवश्यकता है वह शीट को छिपाना है।

कोड:

उप For_Each_Example2 () डिमांड Ws के रूप में वर्कशीट को प्रत्येक W के लिए ActiveWorkbook.Worksheets Ws.Vouble = xlSheetVeryHidden अगले Ws अंत उप में

चरण 4: लेकिन यदि आप उपरोक्त कोड चलाते हैं, तो यह सभी शीट्स को छिपाने की कोशिश करेगा, लेकिन एक्सेल को कम से कम एक शीट दिखाई देने की आवश्यकता है। इसलिए हमें यह बताने की जरूरत है कि कौन सी शीट छिपाना नहीं है।

कोड:

उप For_Each_Example2 () ActiveWorkbook.Worksheets में प्रत्येक Ws के लिए कार्य के रूप में डिम Ws। यदि "मेन शीट" Ws.Name है तो Ws.Vanish = xlSheetVeryHidden अंत अगला Ws अंत उप

ऑपरेटर प्रतीक साधन नहीं VBA में के बराबर

इसलिए कोड कहता है कि जब आप सक्रिय कार्यपुस्तिका में सभी वर्कशीट के माध्यम से लूप कर रहे हैं, तो केवल तभी छिपाएं जब शीट का नाम मेन शीट के शीट नाम के बराबर न हो।

यह VBA में IF स्टेटमेंट का उपयोग करके किया जा सकता है। कोड को IF Ws.Name "Main Sheet" के रूप में लिखें। फिर छिपाएं या यदि यह शीट नाम "Main Sheet" के बराबर है, तो छिपाएं नहीं।

चरण 5: अब F5 कुंजी या मैन्युअल रूप से कोड का उपयोग करें। फिर, यह "मुख्य पत्रक" नामक एक को छोड़कर सभी कार्यपत्रकों को छिपा देगा।

उदाहरण # 3 - सभी शीट्स को अनहाइड करें

हमने देखा है कि हम जिस शीट में हैं, उसे छोड़कर सभी शीट को कैसे छिपाएं। इसी तरह, हम सभी वर्कशीट को भी अनहाइड कर सकते हैं।

हम से कोड बदलने की जरूरत है xlSheetVeryHidden को xlSheetVisible।

कोड:

Sub For_Each_Example3() Dim Ws As Worksheet For Each Ws In ActiveWorkbook.Worksheets Ws.Visible = xlSheetVisible Next Ws End Sub

Here we don’t need the IF condition because we are unhiding all the sheets. If you don’t want to unhide any specific sheet, then you can use the IF condition and supply the sheet name.

Example #4 - Protect and UnProtect All the Sheets

Protect All Sheets: We can protect all the sheets in the workbook with just a piece of code. All the principle is the same only thing we need to do here is instead of Ws. Visible, we need to put the code Ws. Protect and type the password.

Code:

Sub For_Each_Example4() Dim Ws As Worksheet For Each Ws In ActiveWorkbook.Worksheets Ws.Protect Password:="Excel@2019" Next Ws End Sub

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

कोड:

उप For_Each_Example6 () सक्रिय Workbook.Worksheets Ws.Unprotect पासवर्ड में प्रत्येक W के लिए कार्य के रूप में डिम Ws

याद रखने वाली चीज़ें

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

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