2012-04-20 10 views
5

मैं पर बहुत नया हूं और मैं यह पता लगाने की कोशिश कर रहा हूं कि एक वर्ण कोड की पहचान कैसे करें, जहां एक वर्ण बदलता है।डाक कोडों की श्रेणी के बीच पहचान करने की आवश्यकता

उदाहरण के लिए, मैं देखना चाहता हूं कि डाक कोड 2G8 और 2P8 के बीच आता है या नहीं।

दूसरे शब्दों में, मैं के लिए क्या देख रहा हूँ की सीमा 2_8 होगा जहां को रेखांकितP को G हो सकता है, लेकिन मैं पहचान करने के लिए कैसे है कि कोड में पता नहीं है।

मैं वास्तव में इस समस्या से संपर्क करने के तरीके को जानने में कुछ मदद की सराहना करता हूं। धन्यवाद!

उत्तर

7

आप प्रत्येक चरित्र को खींचने और अपने व्यापार नियमों के अनुसार इसे सत्यापित करने के लिए वीबीए Mid फ़ंक्शन का उपयोग कर सकते हैं।

Function ValidatePostalCode(code As String) 
    ValidatePostalCode = _ 
     (Mid(code, 1, 1) = "2") And _ 
     (Mid(code, 2, 1) >= "G" And Mid(code, 2, 1) <= "P") And _ 
     (Mid(code, 3, 1) = "8") 
End Function 

इस समारोह यह बताते हैं कि इनपुट मान्य है True या False का मान प्रदान करेगा: यहाँ यह कैसे लग सकता है, इसका एक उदाहरण।

+0

+1 से बचा जाता है पहले काम कर समाधान – brettdj

+0

+1 सहमत के लिए brettdj के साथ :) –

9

LIKE दोहराया स्ट्रिंग परीक्षण

1. सरल टेस्ट

Function ValidString(strIn As String) As Boolean 
ValidString = strIn Like "2[G-P]8" 
End Function 

2. केस संवेदी संस्करण

Function ValidString(strIn As String) As Boolean 
ValidString = LCase$(strIn) Like LCase$("2[G-P]8") 
End Function 
+1

+1 सहमत हुए। मेरा 'वीबीए' जंगली है :) – mellamokb

+1

बहुत बहुत धन्यवाद, जो वास्तव में आसानी से काम करता था। अब, मेरी मुख्य समस्या यह है कि मेरे पास इतनी सारी श्रेणियां हैं जिन्हें मुझे फ़िल्टर करना है, इसलिए मुझे प्रत्येक के लिए एक अलग फ़ंक्शन बनाना होगा। – user960358

+1

आप श्रेणियों को एक सरणी और लूप में डाल सकते हैं और जांच सकते हैं कि उनमें से कोई भी मेल खाता है या नहीं। – mellamokb

संबंधित मुद्दे