माईक्रोसाफ्ट एक्सेल में किसी भी नंबर को टेक्स्ट में कैसे परवर्तित करें
आज के दुनिया में माईक्रोसाफ्ट एक्सेल जो कि माईक्रोसाफ्ट आफिस का ही एक भाग है से कौन सा कम्पूटर उपयोक्ता परिचित नहीं होगा | मेरे ख्याल से कोई भी ये नहीं कह सकता कि मुझे इस जानकारी नहीं है | लाखों, करोड़ों, अरबों लोग इस का प्रयोग कर रहे हैं | मेरा विषय भी आज माईक्रोसाफ्ट आफिस के ही एक भाग माईक्रोसाफ्ट एक्सेल के बारे में एक उपयोगी जानकारी को आपके साहमने रखने का है | लगभग सभी कम्पूटर उपयोक्ता जानते होंगे कि माईक्रोसाफ्ट एक्सेल का प्रयोग ज्यादाकर "अकाउंट" के काम के लिए इस का प्रयोग किया जाता है बहुत से उपयोक्ता इस का प्रयोग करना अच्छी तरह से जानते होंगे या जानते हैं | कुछ संख्याओं के जोड़ को आसानी से लगा सकते हैं जैसा कि नीचे दी गयी इमेज में दिखाया गया है,
परन्तु मेरा विषय यह है इस उपरोक्त इमेज में लगाये गए जोड़ को टेक्स्ट में कैसे लिखा जाये जैसे कि हम इसे अंग्रेजी में इस प्रकार लिखेंगे "Fifty six thousand three hundard ninety two only" परन्तु हमें ये सब करने के लिए ४७ कीज़ का प्रयोग करना पड़ा | यहाँ तक तो ठीक है कयोंकि कि ये एक ही बार लिखना था | अगर आप अकाउंट का काम करते हैं तो नुमेरिकल फिगर चेंज होने पर आपको हर बार यही उपरोक्त विधि अपनानी पड़े तो इससे समय भी काफी नष्ट होता है और मेहनत भी करनी पड़ती है और गलती होने कि सम्भावना भी बनी रहती है |
इस को आसन बनाने के लिए एक छोटा सा कोड हिडन मोड़ में लगा दिया जाये तो ये सब बड़ी ही आसानी से संपन्न किया जा सकता है | इस का सब से बड़ा फायदा ये है कि आप अगर एक बार किसी भी नुमेरिकल फिगर पर ये कोड लगा दें तो जिस सैल में आपने ये फार्मूला लगाया है उस में ये फिगर टेक्स्ट रूप में आपने आप लिखी जाती है अगर आप उपरोक्त दिखाई गयी किसी भी कर्मचारी को अदा करने वाली राशी में परिवर्तन करते हैं तो नीचे टेक्स्ट में आपने आप ही परिवर्तन हो जायेगा |
देखिये पहिली इमेज में ये कोड लगाया गया है जिस से ये नुमेरिकल फिगर में टेक्स्ट आपने आप परवर्तित हो गया है |
इस को आसन बनाने के लिए एक छोटा सा कोड हिडन मोड़ में लगा दिया जाये तो ये सब बड़ी ही आसानी से संपन्न किया जा सकता है | इस का सब से बड़ा फायदा ये है कि आप अगर एक बार किसी भी नुमेरिकल फिगर पर ये कोड लगा दें तो जिस सैल में आपने ये फार्मूला लगाया है उस में ये फिगर टेक्स्ट रूप में आपने आप लिखी जाती है अगर आप उपरोक्त दिखाई गयी किसी भी कर्मचारी को अदा करने वाली राशी में परिवर्तन करते हैं तो नीचे टेक्स्ट में आपने आप ही परिवर्तन हो जायेगा |
देखिये पहिली इमेज में ये कोड लगाया गया है जिस से ये नुमेरिकल फिगर में टेक्स्ट आपने आप परवर्तित हो गया है |
दूसरी इमेज में देखें मैंने भोला नाथ को मिलने वाली राशी को थोडा सा चेंज कर दिया है, इस से नीचे वाली इमेज में टेक्स्ट में अपने आप परिवर्तन हो गया है |
आप भी चाहते होंगे कि आप भी कर पाएं ऐसा, पर कैसे होता है ये सब | आइये जाने इसे माइकरोसाफ्ट एक्सल में इसे कैसे स्थापित करते हैं ....
सब से पहिले आप नीचे दिया गया कोड कॉपी करें फिर माइकरोसाफ्ट एक्सल को ओपन कर लें |
आप भी चाहते होंगे कि आप भी कर पाएं ऐसा, पर कैसे होता है ये सब | आइये जाने इसे माइकरोसाफ्ट एक्सल में इसे कैसे स्थापित करते हैं ....
सब से पहिले आप नीचे दिया गया कोड कॉपी करें फिर माइकरोसाफ्ट एक्सल को ओपन कर लें |
Function VaneetSpellRupees1(ByVal MyNumber) '**** Vaneet Nagpal -- CityJalalabad.Com -- #1154, M.C. Street, Jalalabad-152024, Mobile-09646042574 www.cityjalalabad.com '**** Latest updated 20-May-2011 '**** VaneetSpellRupees1 (modified on 20-May-2011) show Rupees to precede, and to show "" for 0 paise) '**** Excel UDF to spell Indian Currency -- Rupees and Paise into text '**** Indian currency starts off with 1000s, and after that only with 100s '**** 1000 (Thousand) -- 1,00,000 (Lac or Lakh) -- 1,00,00,000 (Crore) -- 1,00,00,00,000 (Arab) '**** (this UDF is based on SpellNumber by Microsoft) '****************' Main Function *'**************** Dim Rupees, Paise, Temp Dim DecimalPlace, Count ReDim Place(9) As String Place(2) = " Thousand " Place(3) = " Lac " Place(4) = " Crore " Place(5) = " Arab " ' String representation of amount MyNumber = Trim(Str(MyNumber)) ' Position of decimal place 0 if none DecimalPlace = InStr(MyNumber, ".") ' Convert Paise and set MyNumber to Rupee amount If DecimalPlace > 0 Then Paise = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & "00", 2)) MyNumber = Trim(Left(MyNumber, DecimalPlace - 1)) End If Count = 1 Do While MyNumber <> "" If Count = 1 Then Temp = GetHundreds(Right(MyNumber, 3)) If Count > 1 Then Temp = GetHundreds(Right(MyNumber, 2)) If Temp <> "" Then Rupees = Temp & Place(Count) & Rupees If Count = 1 And Len(MyNumber) > 3 Then MyNumber = Left(MyNumber, Len(MyNumber) - 3) Else If Count > 1 And Len(MyNumber) > 2 Then MyNumber = Left(MyNumber, Len(MyNumber) - 2) Else MyNumber = "" End If End If Count = Count + 1 Loop Select Case Rupees Case "" Rupees = "No Rupees" Case "One" Rupees = "One Rupee" Case Else '**************************************************************** 'Vaneet Nagpal on 20-May-2011 'modified the following two lines to display "Rupees" to precede ' rem'd the first line and added the second line '**************************************************************** 'Rupees = Rupees & " Rupees" Rupees = "Rupees " & Rupees End Select Select Case Paise Case "" '**************************************************************** 'Vaneet Nagpal on 20-May-2011 'modified the following two lines to display nothing for no paise ' rem'd the first line and added the second line '**************************************************************** 'Paise = " and No Paise" '**************************************************************** 'Vaneet Nagpal on 20-May-2011 'modified the following line to display " Only" for no paise ' rem'd the first line and added the second line '**************************************************************** 'Paise = "" Paise = " Only" Case "One" Paise = " and One Paisa" Case Else Paise = " and " & Paise & " Paise" End Select VaneetSpellRupees1 = Rupees & Paise End Function '******************************************* ' Converts a number from 100-999 into text * '******************************************* Function GetHundreds(ByVal MyNumber) Dim Result As String If Val(MyNumber) = 0 Then Exit Function MyNumber = Right("000" & MyNumber, 3) 'Convert the hundreds place If Mid(MyNumber, 1, 1) <> "0" Then Result = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred " End If 'Convert the tens and ones place If Mid(MyNumber, 2, 1) <> "0" Then Result = Result & GetTens(Mid(MyNumber, 2)) Else Result = Result & GetDigit(Mid(MyNumber, 3)) End If GetHundreds = Result End Function '********************************************* ' Converts a number from 10 to 99 into text. * '********************************************* Function GetTens(TensText) Dim Result As String Result = "" ' null out the temporary function value If Val(Left(TensText, 1)) = 1 Then ' If value between 10-19 Select Case Val(TensText) Case 10: Result = "Ten" Case 11: Result = "Eleven" Case 12: Result = "Twelve" Case 13: Result = "Thirteen" Case 14: Result = "Fourteen" Case 15: Result = "Fifteen" Case 16: Result = "Sixteen" Case 17: Result = "Seventeen" Case 18: Result = "Eighteen" Case 19: Result = "Nineteen" Case Else End Select Else ' If value between 20-99 Select Case Val(Left(TensText, 1)) Case 2: Result = "Twenty " Case 3: Result = "Thirty " Case 4: Result = "Forty " Case 5: Result = "Fifty " Case 6: Result = "Sixty " Case 7: Result = "Seventy " Case 8: Result = "Eighty " Case 9: Result = "Ninety " Case Else End Select Result = Result & GetDigit _ (Right(TensText, 1)) 'Retrieve ones place End If GetTens = Result End Function '******************************************* ' Converts a number from 1 to 9 into text. * '******************************************* Function GetDigit(Digit) Select Case Val(Digit) Case 1: GetDigit = "One" Case 2: GetDigit = "Two" Case 3: GetDigit = "Three" Case 4: GetDigit = "Four" Case 5: GetDigit = "Five" Case 6: GetDigit = "Six" Case 7: GetDigit = "Seven" Case 8: GetDigit = "Eight" Case 9: GetDigit = "Nine" Case Else: GetDigit = "" End Select End Function |
अब आप माइकरोसाफ्ट एक्सल के टूल्स पर क्लिक करें | फिर मैक्रो पर व फिर विजुअल बेसिक एडिटर पर जायें इसे आप कीबोर्ड शोर्टकट से भी विजुअल बेसिक एडिटर को खोल सकते हैं शोर्टकाट है "ALT+F11" इन दोनों कीज़ को एक साथ प्रेस करने पर निमनलिखित इमेज अनुसार विजुअल बेसिक एडिटर की स्क्रीन ओपन होगी
विजुअल बेसिक एडिटर के इन्सर्ट आप्शन पर क्लिक करें, फिर मोड्यूल पर क्लिक करें | माड्यूल पर क्लिक करने के बाद आपके बायें हाथ कि तरफ माड्यूल फोल्डर के नीचे कि तरफ माड्यूल-1 लिखा दिखाई देगा जैसा कि नीचे इमेज में दिखाया गया है
अब माड्यूल-1 पर क्लिक करें व कॉपी किया हुआ कोड दायें हाथ की तरफ दिखाई दे रहे स्पेस में पेस्ट कर दें | इसका नमूना नीचे इमेज में दिखाई दे रहा है |
अगर आप ने ये सब आसानी से कर लिया तो बायें हाथ के उपरी कोने पर स्थित सेव बटन पर कलिक करें विजुअल बेसिक एडिटर को बंद कर दे | आपका लगभग कोड लगाने का काम पूरा हो चुका है
अगर आप ने ये सब आसानी से कर लिया तो बायें हाथ के उपरी कोने पर स्थित सेव बटन पर कलिक करें विजुअल बेसिक एडिटर को बंद कर दे | आपका लगभग कोड लगाने का काम पूरा हो चुका है
अबआप माईक्रोसाफ्ट एक्सेल की वर्कशीट पर आ गए है अब आपने यहाँ पर एक छोटे सी कारगुजारी करनी है | जैसा की इस लेख के शुरू में पहिली इमेज में दिखाया गया है उसी पारकर आप इस वर्कशीट पर कुछ नाम लिख का उन नाम के आगे कोई भी नुमेरिकल फिगर लिखे व सबसे अंत में इन नुमेरिकल फिगर का टोटल कर लें | इसके बाद अगर आप इस टोटल के नीचे है इस नुमेरिकल फिगर को टेक्स्ट में लिखना चाहते हैं तो आप "Shift+F3" कीज़ को एक साथ दबाएँ ऐसा करने से इस प्रकार की विंडो आपको दिखाई देगी जैसा की नीचे इमेज में दिखाया गया है :-
अब आप फंक्शन कैटागरी में आल पर कलिक करें जैसा की उपरोक्त दिखाई गयी इमेज में देख सकते हैं फंक्शन कैटागरी में "ALL" दुसरे नंबर पर दिखाई दे रहा है फंक्शन नेम वाले खाने में "VaneetSpellRupees1" को ढूंढे | इस का सबसे आसन सा तरीका है फंक्शन खाने में माउस से किसी भी शब्द पर एक बार कलिक करें उस के बाद "V" को दबाएँ | ऐसा करने से आप तुरंत "V" से शुरू होने वाले फंक्शन पर पहुँच जायेंगे | यहाँ पर आप "VaneetSpellRupees1" पर कलिक करें व ओके पर क्लिक कर दें | जैसा की नीचे इमेज में दिखाया गया है |
आप फंक्शन कैटागरी में आल पर कलिक करें जैसा की उपरोक्त दिखाई गयी इमेज में देख सकते हैं फंक्शन कैटागरी में "ALL" दुसरे नंबर पर दिखाई दे रहा है फंक्शन नेम वाले खाने में "VaneetSpellRupees1" को ढूंढे | इस का सबसे आसन सा तरीका है फंक्शन खाने में माउस से किसी भी शब्द पर एक बार कलिक करें उस के बाद "V" को दबाएँ | ऐसा करने से आप तुरंत "V" se होने वाले फंक्शन पर पहुँच जायेंगे | यहाँ पर आप "VaneetSpellRupees1" पर कलिक करें व ओके पर क्लिक कर दें | जैसा की नीचे इमेज में दिखाया गया है |
जब ओके पर कलिक करेंगे तो तुरंत "VaneetSpellRupees1" लगाने वाला फंक्शन बॉक्स दिखाई देगा जैसा की नीचे इमेज में दिखाया गया है :-
यहाँ पर आप माय नंबर पर उस सैल का नाम लिखें जिस सैल की नुमेरिकल फिगर को टेक्स्ट के रूप में परवर्तित करना है | जैसे मैंने इस खाने में "B7" लिखा है, जब इस प्रकार उस सैल का नाम लिखेंगे आपको इस इमेज पर फार्मूला रिज़ल्ट के आगे "=" के निशान के आगे टेक्स्ट के रूप में प्रवर्तित होने वाली शब्दावली दिखाई देगी | आप नीचे दिखाई गयी इमेज में देख सकते
हैं |
बस ओके बटन पर कलिक कर दें | आपकी नुमेरिकल फिगर टेक्स्ट में प्रवर्तित हो जाएगी |
हैं |
बस ओके बटन पर कलिक कर दें | आपकी नुमेरिकल फिगर टेक्स्ट में प्रवर्तित हो जाएगी |
==: : : किसी भी मुश्किल के लिए आप हमसे संपर्क कर सकते हैं : : :==
किसी भी नयी पोस्ट पर जाने के लिए नीचे स्लाइड हो रहे किसी भी टेक्स्ट पर कलिक करें
mere dwara excel mai is code ka prayog kiya gaya parantu jaise hi mai file ko band karke dobara us file ko open karke function ka prayog karne par vaha kam nahi karta hai eaisa kyu hota hai
जवाब देंहटाएं=Book2.xls!Module1.VaneetSpellRupees1()
जवाब देंहटाएंis prakar se show ho raha hai krapaya iska upay bataye
----- thank you sirji ----------
you r 2 good
---- my name ravi patidar-
आप मुझे एक्सेल की वो फ़ाइल भेज दें मैं आपको वो कोड लगा कर भेज दूंगा |
जवाब देंहटाएंemail : mycityjalalabad@gmail.com
सर जी, इतना लम्बा फार्मूला ........................
जवाब देंहटाएंकोई छोटा किन्तु, प्रभावशाली फार्मूला के बारे में बतायें
)))))))))
yadi print nahi nikale to kya kare
जवाब देंहटाएं