वीबीए में वाइल्डकार्ड का उपयोग कैसे करें (उदाहरण के साथ)
आप स्ट्रिंग्स में विशिष्ट पैटर्न खोजने के लिए निम्नलिखित अंतर्निहित वाइल्डकार्ड के साथ वीबीए में लाइक ऑपरेटर का उपयोग कर सकते हैं:
- * : किसी भी संख्या में वर्णों से मेल खाता है
- ? : एकल वर्ण से मेल खाता है
- # : एकल अंक से मेल खाता है
- [] : सीमा के भीतर किसी भी वर्ण से मेल खाता है
निम्नलिखित उदाहरण दिखाते हैं कि व्यवहार में इन वाइल्डकार्ड का उपयोग कैसे करें।
उदाहरण 1: सबस्ट्रिंग खोजने के लिए *वाइल्डकार्ड का उपयोग करें
मान लीजिए कि हमारे पास कॉलम ए में खाद्य पदार्थों की निम्नलिखित सूची है:
हम कॉलम ए में प्रत्येक स्ट्रिंग में “हॉट” सबस्ट्रिंग की खोज करने और कॉलम बी में परिणाम प्रदर्शित करने के लिए निम्नलिखित मैक्रो बना सकते हैं:
Sub FindString()
Dim i As Integer
For i = 2 To 10
If Range(" A " & i) Like " *hot* " Then
Range(" B " & i) = " Contains hot "
Else
Range(" B " & i) = " Does Not Contain hot "
End If
Next i
End Sub
जब हम इस मैक्रो को चलाते हैं, तो हमें निम्नलिखित आउटपुट प्राप्त होता है:
उदाहरण 2: एक पैटर्न के साथ समाप्त होने वाली स्ट्रिंग की खोज के लिए वाइल्डकार्ड वर्ण * का उपयोग करें
मान लीजिए कि हमारे पास कॉलम ए में बास्केटबॉल टीम के नामों की निम्नलिखित सूची है:
हम कॉलम ए में स्ट्रिंग्स की खोज करने के लिए निम्नलिखित मैक्रो बना सकते हैं जो “एट्स” में समाप्त होते हैं और कॉलम बी में परिणाम प्रदर्शित करते हैं:
Sub FindEndingString()
Dim i As Integer
For i = 2 To 10
If Range(" A " & i) Like " *ets " Then
Range(" B " & i) = " Ends in ets "
Else
Range(" B " & i) = " Does Not End in ets "
End If
Next i
End Sub
जब हम इस मैक्रो को चलाते हैं, तो हमें निम्नलिखित आउटपुट प्राप्त होता है:
उदाहरण 3: संख्याओं को खोजने के लिए वाइल्डकार्ड # का उपयोग करें
मान लीजिए कि हमारे पास कॉलम ए में स्ट्रिंग्स की निम्नलिखित सूची है:
हम कॉलम ए में संख्याओं वाले स्ट्रिंग की खोज करने और कॉलम बी में परिणाम प्रदर्शित करने के लिए निम्नलिखित मैक्रो बना सकते हैं:
SubFindNumbers ()
Dim i As Integer
For i = 2 To 10
If Range(" A " & i) Like " *#* " Then
Range(" B " & i) = " Contains Numbers "
Else
Range(" B " & i) = " Does Not Contain Numbers "
End If
Next i
End Sub
जब हम इस मैक्रो को चलाते हैं, तो हमें निम्नलिखित आउटपुट प्राप्त होता है:
उदाहरण 4: एकाधिक वर्णों को खोजने के लिए वाइल्डकार्ड [] का उपयोग करें
मान लीजिए कि हमारे पास कॉलम ए में बास्केटबॉल टीम के नामों की निम्नलिखित सूची है:
हम टीम नाम में कहीं न कहीं r, s, या t युक्त स्ट्रिंग्स के लिए कॉलम A को खोजने के लिए निम्नलिखित मैक्रो बना सकते हैं और कॉलम B में परिणाम प्रदर्शित कर सकते हैं:
Sub FindSpecificLetters()
Dim i As Integer
For i = 2 To 10
If Range(" A " & i) Like " *[rt]* " Then
Range(" B " & i) = " Contains r, s, or t "
Else
Range(" B " & i) = " Does Not Contain r, s or t "
End If
Next i
End Sub
जब हम इस मैक्रो को चलाते हैं, तो हमें निम्नलिखित आउटपुट प्राप्त होता है:
नोट : आप संपूर्ण वीबीए वाइल्डकार्ड दस्तावेज़ यहां पा सकते हैं।
अतिरिक्त संसाधन
निम्नलिखित ट्यूटोरियल बताते हैं कि वीबीए का उपयोग करके अन्य सामान्य कार्य कैसे करें:
वीबीए: एक स्ट्रिंग में वर्णों की घटनाओं की गणना कैसे करें
वीबीए: कैसे जांचें कि एक स्ट्रिंग में दूसरी स्ट्रिंग है या नहीं
वीबीए: विशिष्ट पाठ वाले कक्षों की गणना कैसे करें