वीबीए: यदि नाम में विशिष्ट पाठ है तो शीट हटा दें
आप Excel कार्यपुस्तिका में प्रत्येक शीट को हटाने के लिए VBA में निम्नलिखित सिंटैक्स का उपयोग कर सकते हैं जिसमें विशिष्ट पाठ शामिल है:
SubDeleteSheets ()
Dim TextToFind As String
Dim TextWildcard As String
Dim Ws As Worksheet
Dim i As Integer
'prompt user for text to search for in sheet names
TextToFind = Application.InputBox(" Delete Sheets That Contain: ", _
ThisWorkbook.ActiveSheet.Name, , , , , 2)
TextWildcard = " * " & TextToFind & " * "
Application.DisplayAlerts = False
'loop through sheets and delete each sheet that contains text
i = 0
For Each Ws In ThisWorkbook.Sheets
If Ws.Name Like TextWildcard Then
Ws.Delete
i = i + 1
End If
Next Ws
Application.DisplayAlerts = True
End Sub
जब आप इस विशेष मैक्रो को चलाते हैं, तो एक इनपुट बॉक्स दिखाई देगा जहां आप एक विशिष्ट टेक्स्ट स्ट्रिंग दर्ज कर सकते हैं।
एक बार जब आप एंटर दबाते हैं, तो एक्सेल वर्कबुक में उस विशिष्ट टेक्स्ट वाली प्रत्येक शीट स्वचालित रूप से हटा दी जाएगी।
ध्यान दें : एप्लिकेशन.डिस्प्लेअलर्ट्स=गलत लाइन वीबीए को शीट हटाने की प्रक्रिया को प्रदर्शित नहीं करने के लिए कहती है, जिससे इसके निष्पादन में तेजी आती है।
निम्नलिखित उदाहरण दिखाता है कि व्यवहार में इस वाक्यविन्यास का उपयोग कैसे करें।
उदाहरण: विशिष्ट पाठ वाली शीट को हटाने के लिए VBA का उपयोग करें
मान लीजिए कि हमारे पास निम्नलिखित एक्सेल वर्कबुक है जिसमें चार शीट हैं:
अब मान लीजिए कि हम हर उस शीट को हटाना चाहते हैं जिसके शीट नाम में “टीम” है।
ऐसा करने के लिए हम निम्नलिखित मैक्रो बना सकते हैं:
SubDeleteSheets ()
Dim TextToFind As String
Dim TextWildcard As String
Dim Ws As Worksheet
Dim i As Integer
'prompt user for text to search for in sheet names
TextToFind = Application.InputBox(" Delete Sheets That Contain: ", _
ThisWorkbook.ActiveSheet.Name, , , , , 2)
TextWildcard = " * " & TextToFind & " * "
Application.DisplayAlerts = False
'loop through sheets and delete each sheet that contains text
i = 0
For Each Ws In ThisWorkbook.Sheets
If Ws.Name Like TextWildcard Then
Ws.Delete
i = i + 1
End If
Next Ws
Application.DisplayAlerts = True
End Sub
जब हम इस मैक्रो को चलाते हैं, तो एक इनपुट बॉक्स दिखाई देता है जहां हम वह टेक्स्ट दर्ज कर सकते हैं जिसे हम शीट नामों में खोजना चाहते हैं:
एक बार जब हम “टीम” टाइप करते हैं और ओके दबाते हैं, तो शीट नाम जिसमें कहीं भी “टीम” होता है, स्वचालित रूप से हटा दिया जाएगा:
ध्यान दें कि शीट नाम में “टीम” वाली दो शीट हटा दी गई हैं।
जिन शीटों में “टीम” नहीं थी उन्हें अछूता छोड़ दिया गया।
अतिरिक्त संसाधन
निम्नलिखित ट्यूटोरियल बताते हैं कि वीबीए में अन्य सामान्य कार्य कैसे करें:
वीबीए: किसी कार्यपुस्तिका में शीटों की संख्या कैसे गिनें
वीबीए: किसी अन्य कार्यपुस्तिका से डेटा कैसे निकालें
वीबीए: एकाधिक पंक्तियाँ कैसे सम्मिलित करें