यह ट्यूटोरियल दिखाएगा कि टेक्स्ट की स्ट्रिंग्स को बदलने के लिए बदलें VBA फ़ंक्शन का उपयोग कैसे करें।
फ़ंक्शन बदलें
VBA बदलें फ़ंक्शन प्रतिस्थापन के साथ एक स्ट्रिंग देता है। वैकल्पिक मापदंडों के उपयोग के साथ, नई स्ट्रिंग प्रारंभ द्वारा निर्दिष्ट स्थिति से शुरू हो सकती है और मूल स्ट्रिंग के अंत में समाप्त हो सकती है।
वीबीए प्रतिस्थापन एक सबस्ट्रिंग बदलें
VBA रिप्लेस फंक्शन का उपयोग किसी भी पाए गए सबस्ट्रिंग को प्रतिस्थापित करने के लिए किया जा सकता है, हर हिस्से में यह पाया जाता है।
12345678910111213141516 | उप प्रतिस्थापन उदाहरण_1 ()MsgBox बदलें ("एबीसीएबीसीएबीसी", "ए", "!")'परिणाम है: "!BC!BC!BC"MsgBox बदलें ("मुझे गुलाबी, लाल और काला पसंद है", "गुलाबी", "बैंगनी")'परिणाम है: "मुझे बैंगनी, लाल और काला पसंद है"MsgBox बदलें ("ए, बी, सी, ए, बी, सी, ए, बी, सी", ",", ",")'परिणाम है: "एबीसीएबीसीएबीसी"MsgBox बदलें ("एबीसीएबीसीएबीसी", "एबीसी", "!")'परिणाम है: "!!!"MsgBox बदलें ("एबीसीएबीसीएबीसी", "एबीसी", "!")'परिणाम है: "एबीसीएबीसीएबीसी"MsgBox बदलें ("एबीसीएबीसीएबीसी", "जेडबीसी", "!")'परिणाम है: "एबीसीएबीसीएबीसी"अंत उप |
वीबीए प्रारंभिक स्थिति बदलें
VBA बदलें फ़ंक्शन का उपयोग किसी भी पाए गए सबस्ट्रिंग को प्रतिस्थापित करने के लिए किया जा सकता है, हर हिस्से में यह पाया जाता है। यदि हम एक प्रारंभ स्थिति निर्दिष्ट करते हैं तो परिणाम उस प्रारंभिक बिंदु के बाद मूल स्ट्रिंग का हिस्सा होगा।
12345678910111213 | उप प्रतिस्थापनउदाहरण_2()MsgBox बदलें ("ABCABCABC", "A", "123") 'परिणाम है: "123BC123BC123BC"MsgBox Replace("ABCABCABC", "A", "123", 2) 'परिणाम है: "BC123BC123BC"MsgBox बदलें ("ABCABCABC", "A", "123", 7) 'परिणाम है: "123BC"MsgBox बदलें ("एबीसीएबीसीएबीसी", "ए", "123", 8) 'परिणाम है: "बीसी"MsgBox बदलें ("ABCABCABC", "ABC", "!@") 'परिणाम है: "!@!@!@"MsgBox Replace("ABCABCABC", "ABC", "!@", 2) 'परिणाम है: "BC!@!@"MsgBox Replace("ABCABCABC", "ABC", "!@", 6) 'परिणाम है: "C!@"MsgBox Replace("ABCABCABC", "ABC", "!@", 7) 'परिणाम है: "!@"MsgBox बदलें ("एबीसीएबीसीएबीसी", "एबीसी", "!@", 8) 'परिणाम है: "बीसी"अंत उप |
VBA केवल कुछ घटनाओं को बदलें
VBA बदलें फ़ंक्शन का उपयोग किसी भी पाए गए सबस्ट्रिंग को प्रतिस्थापित करने के लिए किया जा सकता है, हर हिस्से में यह पाया जाता है। हम वैकल्पिक रूप से तय कर सकते हैं कि कितनी घटनाओं को प्रतिस्थापित किया जाना चाहिए।
123456789101112 | उप प्रतिस्थापन उदाहरण_3 ()MsgBox बदलें ("ABCABCABC", "A", "12") 'परिणाम है: "12BC12BC12BC"MsgBox Replace ("ABCABCABC", "A", "12", , 1) 'परिणाम है: "12BCABCABC"MsgBox Replace ("ABCABCABC", "A", "12", , 2) 'परिणाम है: "12BC12BCABC"MsgBox Replace ("ABCABCABC", "A", "12", , 3) 'परिणाम है: "12BC12BC12BC"MsgBox Replace ("ABCABCABC", "A", "12", , 5) 'परिणाम है: "12BC12BC12BC"MsgBox बदलें ("एबीसीएबीसीएबीसी", "ए", "12", 3, 1)'परिणाम है: "सी12बीसीएबीसी"'हमने मूल स्ट्रिंग की स्थिति 3 से शुरू करते हुए ए को 12, 1 बार से बदल दिया।अंत उप |
VBA केस सेंसिटिविटी बदलें
डिफ़ॉल्ट रूप से VBA रिप्लेस फंक्शन केस संवेदी होता है। आप वैकल्पिक पैरामीटर का उपयोग करके उस व्यवहार को केस असंवेदनशील में बदल सकते हैं (vbपाठ्य तुलना) उस स्थिति में, आपको खोज की आरंभिक स्थिति को भी परिभाषित करना होगा।
12345678910111213 | उप प्रतिस्थापन उदाहरण_4 ()MsgBox बदलें ("एबीसीएबीसीएबीसी", "एबीसी", "12")परिणाम है: "12ABC12"MsgBox बदलें ("ABcABCABc", "ABc", "12", , , vbTextCompare)'परिणाम है: "121212"'जब हम vbTextCompare का उपयोग करते हैं तो हमें 2 अन्य वैकल्पिक तर्क जोड़ने की आवश्यकता होती है:'शुरू करें और गिनें'MsgBox बदलें ("एबीसीएबीसीएबीसीएबीसी", "एबीसी", "12", 3, 1)'परिणाम है: "cABC12ABc"'स्थिति 3 से शुरू किया और एबीसी को केवल 1 बार बदल दिया।अंत उप |
आप अपने मॉड्यूल के शीर्ष पर विकल्प तुलना टेक्स्ट जोड़कर केस-असंवेदनशील प्रतिस्थापन भी कर सकते हैं:
1 | विकल्प टेक्स्ट की तुलना करें |
VBA डबल कोट्स बदलें
VBA बदलें फ़ंक्शन एक स्ट्रिंग के प्रारंभ और अंत को परिसीमित करने के लिए उपयोग किए जाने वाले दोहरे उद्धरण चिह्नों को प्रतिस्थापित कर सकता है।
VBA Chr फ़ंक्शन वर्ण सेट में किसी वर्ण को उसकी संख्या से वापस कर सकता है।
1 | MsgBox Chr(34) 'परिणाम है:" |
या
1 | MsgBox Chr(64) 'परिणाम है: @ |
"""" या वीबीए फ़ंक्शन Chr(34) का उपयोग करके VBA रिप्लेस फ़ंक्शन के अंदर दोहरे उद्धरण चिह्नों का उपयोग किया जा सकता है।
12345678910111213 | उप प्रतिस्थापन उदाहरण_5 ()स्ट्रिंग के रूप में डिम स्ट्रेक्सस्ट्रेक्स = "एबी" "एबी" ""MsgBox StrEx 'परिणाम है: AB"AB"MsgBox बदलें (StrEx, Chr (34), "12")'परिणाम है: AB12AB12MsgBox बदलें (StrEx, """", "DQ")'परिणाम है: "एबीडीक्यूएबीडीक्यू"अंत उप |
VBA सेल में ब्रेक लाइन बदलें
VBA रिप्लेस फंक्शन सेल में ब्रेक लाइन स्पेशल कैरेक्टर ढूंढ सकता है और उसे हटा सकता है या स्पेस कैरेक्टर से बदल सकता है। ब्रेक लाइन विशेष वर्ण को कीबोर्ड शॉर्टकट Alt + Enter का उपयोग करके सेल में दर्ज किया जा सकता है और VBA कोड में VBA फ़ंक्शन Chr(10) का उपयोग करके इसके कैरेक्टर सेट नंबर के साथ उपयोग किया जा सकता है।
1234567891011121314 | उप प्रतिस्थापन उदाहरण_6 ()स्ट्रिंग के रूप में मंद स्ट्रेक्स 'एक स्ट्रिंग चर परिभाषित करें''वर्कशीट शीट1 में सेल A2 का मान पढ़ें'स्ट्रेक्स = यह वर्कबुक। वर्कशीट ("शीट 1")। रेंज ("ए 2")। वैल्यू'Alt+Enter के साथ दर्ज किया गया ब्रेक लाइन कैरेक्टर Chr(10) है और अदृश्य है।'यह कोड लाइन उस कैरेक्टर को स्पेस से बदल देती है'StrEx = बदलें (StrEx, Chr(10), " ")'वर्कशीट शीट 1 में सेल बी 2 में प्रतिस्थापित मूल्य लिखें'यह वर्कबुक। वर्कशीट ("शीट 1")। रेंज ("बी 2")। वैल्यू = स्ट्रेक्सअंत उप |