में एक रेगेक्स मैच लौट रहा है मैं एक्सेल 2010 के लिए एक फ़ंक्शन लिखने की कोशिश कर रहा हूं जो असंगठित पाठ का एक सेल लेगा, एसडीआई मूल्य कहलाता है और यदि पाया जाता है, तो उस नंबर को वापस कर दें। एसडीआई मान एसडीआई #### के रूप में दिखाई देगा। क्या मैं चाहता हूँ SDI और sepecific संख्या है कि यह पालन वापस जाने के लिए है, इसलिए सेल शामिल करता है, तो "कुछ पाठ SDI 1234 कुछ और पाठ" समारोह SDI 1234.वीबीए (एक्सेल)
वापस आ जाएगी यह मेरा समारोह है:
Function SdiTest(LookIn As String) As String
Dim temp As String
Dim STA As Object
temp = ""
Set SDI = CreateObject("VBScript.RegExp")
SDI.IgnoreCase = True
SDI.Pattern = "sdi [1-9]*"
SDI.Global = True
If SDI.Test(LookIn) Then
temp = SDI.Execute(LookIn)
End If
SdiTest = temp
End Function
यदि कोई एसडीआई नंबर नहीं है तो यह कभी भी कथन में प्रवेश नहीं करता है और कर्तव्यपूर्वक खाली स्ट्रिंग देता है। यदि कोई एसडीआई नंबर है तो मुझे #VALUE मिल जाएगा!
मुझे क्या याद आ रही है?
हां, वीबीस्क्रिप्ट सक्षम है। इसके अतिरिक्त, मुझे वीबीए में रेगेक्स का उपयोग करने में निराशा होती है, और ऑनलाइन उपयोगी जानकारी ढूंढना मुश्किल होता है। अच्छे ऑनलाइन संसाधनों के लिंक की सराहना की जाएगी।
धन्यवाद
ग्रेट उत्तर, फ़ंक्शन के लिए धन्यवाद! –
धन्यवाद इशुन - आपका फ़ंक्शन अद्भुत काम करता है – TheoRose
+1 अच्छी तरह से किया गया Issun – brettdj