Page 1 of 3 123 LastLast
Results 1 to 12 of 25

Thread: How to Convert a number to English words-Excel

  1. #1
    Abu Dajana's Avatar
    Abu Dajana is offline Senior Member+
    Last Online
    4th July 2015 @ 04:21 PM
    Join Date
    21 Oct 2011
    Age
    38
    Gender
    Male
    Posts
    602
    Threads
    28
    Credits
    965
    Thanked
    131

    Default How to Convert a number to English words-Excel

    ابو :۔ ایک تو یہ مائیکرو سافٹ ایکسل میں۔۔یہ۔۔
    BAHTTEXT
    کا فنکشن کام نہیں کر رہا ہے۔۔۔ اب دیکھیں ناں۔۔ مجھے اکاؤنٹ ڈیپارٹمنٹ سے ڈیل کرنے کے لئے۔۔ ایکسل میں۔۔ نمبرز کو۔۔ ورڈز میں بھی لکھنا ہوتا ہے۔۔۔لیکن یہ باھٹ ٹیکسٹ کا فنکشن تو انگلش ورڈز کے علاوہ۔۔کچھ اور دے رہا ہے۔۔۔
    ۔
    دُجانہ:۔ جی ابو جی۔۔ یہ واحد فنکشن ہے جو۔۔ نمبرز کی ویلیوز کو۔۔ ٹیکسٹ میں تبدیل کرتا ہے۔۔۔لیکن بائی ڈیفالٹ۔۔۔ٹیکسٹ کی لینگویج۔۔تھائی۔۔ہوتی ہے۔۔اور کچھ اس طرح نظر ۔۔آتا ہے۔۔


    ۔
    ابو:۔۔ہاں تو اگر۔۔ یہ ہمیں نمبرز کو۔۔ انگلش ٹیکسٹ میں نہیں دے سکتا۔۔۔تو پھر۔۔ اس کے برعکس۔۔۔ کوئی ۔۔ایڈاِن۔۔۔تو ہوگا ناں۔۔۔۔!!!۔۔۔
    ۔
    دُجانہ:۔۔ جی ہاں۔۔ اس وقت مارکیٹ میں۔۔ بہت سارے ایڈ اون دستیاب ہیں۔۔جن کو انسٹال کرکے۔۔ہم۔۔مطلوبہ رزلٹ لے سکتے ہیں۔۔۔ان میں سے ایک۔۔۔
    Kutools for Excel
    بھی ہے۔۔۔اس کا سائز بھی کم ہے۔۔اور۔۔ کچھ دیگر فنکشنز بھی پیش کرتا ہے۔۔۔
    ۔
    ابو:-۔ اوکے ۔۔اس کے بارے میں کچھ مزید معلومات تو دو ناں۔۔
    ۔
    دُجانہ:۔۔۔ جی۔۔اس کو۔۔اپنے آفیشل سائیٹ۔۔ سے۔۔یہاں ۔۔کلک کرکے۔۔ڈاونلوڈکیا جاسکتا ہے۔۔
    ۔



    ۔
    ابو:۔۔۔ مگر یہ تو ٹرائل ورژن ہے۔۔اور خریدنے کی ۔۔ہم میں۔۔سکت نہیں ہے۔۔ کوئی اور حل بتاؤ۔۔ بیٹا جی۔۔۔
    ۔
    دُجانہ:۔۔ جی ابو ۔۔ ایک حل اور بھی ہے۔۔ اور یہ ہےکہ۔۔ ہم۔۔ میکرو کے ذریعے۔۔اپنا فنکشن ترتیب دے دیں۔۔
    ۔
    ابو:-۔۔ تو یہ کام تو مشکل ہوگا ناں۔۔ کوئی آسان حل نہیں ہے۔۔۔
    ۔
    دُجانہ:۔۔ جی یہ اتنا آسان کام ہے۔۔جتنا ایک دو تین۔۔
    بس درج ذیل اسٹپ فالو کریں۔۔اور۔۔ اپنا مطلوبہ رزلٹ حاصل کریں۔۔
    ۔
    طریقہ کار:۔
    ۔1۔ اپنی ایکسل ورک بک اوپن کریں۔۔
    ۔2۔ اپنی کی بورڈ سے۔۔ آلٹ + ایف گیارہ
    Alt+ F11
    دبائیں۔۔
    ۔3۔ انسرٹ مینو میں جاکر۔۔۔
    Module
    پر کلک کریں۔آ پ کے سامنے ایک بلینک پیج سا آجائیگا۔۔اس میں۔۔۔یہ کوڈ جوں کے توں کاپی کرکے پیسٹ کردیں۔

    [IMG]http://i445.***********.com/albums/qq172/soni_006/th_Ryu-3.gif[/IMG]

  2. #2
    Abu Dajana's Avatar
    Abu Dajana is offline Senior Member+
    Last Online
    4th July 2015 @ 04:21 PM
    Join Date
    21 Oct 2011
    Age
    38
    Gender
    Male
    Posts
    602
    Threads
    28
    Credits
    965
    Thanked
    131

    Default

    Code:
    Private sNumberText() As String
    Public Function Numtotext(NumberIn As Variant, Optional _
    AND_or_CHECK_or_DOLLAR_or_CHECKDOLLAR As String) As String
       Dim cnt As Long
       Dim DecimalPoint As Long
       Dim CardinalNumber As Long
       Dim CommaAdjuster As Long
       Dim TestValue As Long
       Dim CurrValue As Currency
       Dim CentsString As String
       Dim NumberSign As String
       Dim WholePart As String
       Dim BigWholePart As String
       Dim DecimalPart As String
       Dim tmp As String
       Dim sStyle As String
       Dim bUseAnd As Boolean
       Dim bUseCheck As Boolean
       Dim bUseDollars As Boolean
       Dim bUseCheckDollar As Boolean
      '----------------------------------------
      '  Begin setting conditions for formatting
      '----------------------------------------
      '  Determine whether to apply special formatting.
      '  If nothing passed, return routine result
      '  converted only into its numeric equivalents,
      '  with no additional format text.
       sStyle = LCase(AND_or_CHECK_or_DOLLAR_or_CHECKDOLLAR)
      '  User passed "AND": "and" will be added
      '  between hundredths and tens of dollars,
      '  ie "Three Hundred and Forty Two"
       bUseAnd = sStyle = "and"
      '  User passed "DOLLAR": "dollar(s)" and "cents"
      '  appended to string,
      '  ie "Three Hundred and Forty Two Dollars"
       bUseDollars = sStyle = "dollar"
      '  User passed "CHECK" *or* "DOLLAR"
      '  If "check", cent amount returned as a fraction /100
      '  i.e. "Three Hundred Forty Two and 00/100"
      '  If "dollar" was passed, "dollar(s)" and "cents"
      '  Appended instead.
       bUseCheck = (sStyle = "check") Or (sStyle = "dollar")
       bUseCheckDollar = sStyle = "checkdollar"
      '----------------------------------------
      '  Check/create array. If this is the first
      '  time using this routine, create the text
      '  strings that will be used.
      '----------------------------------------
       If Not IsBounded(sNumberText) Then
          Call BuildArray(sNumberText)
       End If
      '----------------------------------------
      '  Begin validating the number, and breaking
      '  into constituent parts
      '----------------------------------------
      '  Prepare to check for valid value in
       NumberIn = Trim$(NumberIn)
       If Not IsNumeric(NumberIn) Then
         '  Invalid entry - abort
          Numtotext = "Error - Number improperly formed"
          Exit Function
       Else
         '  Decimal check
          DecimalPoint = InStr(NumberIn, ".")
          If DecimalPoint > 0 Then
            '  Split the fractional and primary numbers
             DecimalPart = Mid$(NumberIn, DecimalPoint + 1)
             WholePart = Left$(NumberIn, DecimalPoint - 1)
          Else
            '  Assume the decimal is the last char
             DecimalPoint = Len(NumberIn) + 1
             WholePart = NumberIn
          End If
          If InStr(NumberIn, ",,") Or _
             InStr(NumberIn, ",.") Or _
             InStr(NumberIn, ".,") Or _
             InStr(DecimalPart, ",") Then
             Numtotext = "Error - Improper use of commas"
             Exit Function
          ElseIf InStr(NumberIn, ",") Then
             CommaAdjuster = 0
             WholePart = ""
             For cnt = DecimalPoint - 1 To 1 Step -1
                If Not Mid$(NumberIn, cnt, 1) Like "[,]" Then
                   WholePart = Mid$(NumberIn, cnt, 1) & WholePart
                Else
                   CommaAdjuster = CommaAdjuster + 1
                   If (DecimalPoint - cnt - CommaAdjuster) Mod 3 Then
                      Numtotext = "Error - Improper use of commas"
                      Exit Function
                   End If
                End If
             Next
          End If
       End If
       If Left$(WholePart, 1) Like "[+-]" Then
          NumberSign = IIf(Left$(WholePart, 1) = "-", "Minus ", "Plus ")
          WholePart = Mid$(WholePart, 2)
       End If
      '----------------------------------------
      '  Begin code to assure decimal portion of
      '  check value is not inadvertently rounded
      '----------------------------------------
       If bUseCheck = True Then
          CurrValue = CCur(Val("." & DecimalPart))
          DecimalPart = Mid$(Format$(CurrValue, "0.00"), 3, 2)
          If CurrValue >= 0.995 Then
             If WholePart = String$(Len(WholePart), "9") Then
                WholePart = "1" & String$(Len(WholePart), "0")
             Else
                For cnt = Len(WholePart) To 1 Step -1
                  If Mid$(WholePart, cnt, 1) = "9" Then
                     Mid$(WholePart, cnt, 1) = "0"
                  Else
                     Mid$(WholePart, cnt, 1) = _
                                CStr(Val(Mid$(WholePart, cnt, 1)) + 1)
                     Exit For
                  End If
                Next
             End If
          End If
       End If
      '----------------------------------------
      '  Final prep step - this assures number
      '  within range of formatting code below
      '----------------------------------------
       If Len(WholePart) > 9 Then
          BigWholePart = Left$(WholePart, Len(WholePart) - 9)
          WholePart = Right$(WholePart, 9)
       End If
       If Len(BigWholePart) > 9 Then
          Numtotext = "Error - Number too large"
          Exit Function
       ElseIf Not WholePart Like String$(Len(WholePart), "#") Or _
             (Not BigWholePart Like String$(Len(BigWholePart), "#") _
              And Len(BigWholePart) > 0) Then
          Numtotext = "Error - Number improperly formed"
          Exit Function
       End If
      '----------------------------------------
      '  Begin creating the output string
      '----------------------------------------
      '  Very Large values
       TestValue = Val(BigWholePart)
       If TestValue > 999999 Then
          CardinalNumber = TestValue \ 1000000
          tmp = HundredsTensUnits(CardinalNumber) & "Quadrillion "
          TestValue = TestValue - (CardinalNumber * 1000000)
       End If
       If TestValue > 999 Then
         CardinalNumber = TestValue \ 1000
         tmp = tmp & HundredsTensUnits(CardinalNumber) & "Trillion "
         TestValue = TestValue - (CardinalNumber * 1000)
       End If
       If TestValue > 0 Then
          tmp = tmp & HundredsTensUnits(TestValue) & "Billion "
       End If
      '  Lesser values
       TestValue = Val(WholePart)
       If TestValue = 0 And BigWholePart = "" Then tmp = "Zero "
       If TestValue > 999999 Then
          CardinalNumber = TestValue \ 1000000
          tmp = tmp & HundredsTensUnits(CardinalNumber) & "Million "
          TestValue = TestValue - (CardinalNumber * 1000000)
       End If
       If TestValue > 999 Then
          CardinalNumber = TestValue \ 1000
          tmp = tmp & HundredsTensUnits(CardinalNumber) & "Thousand "
          TestValue = TestValue - (CardinalNumber * 1000)
       End If
       If TestValue > 0 Then
          If Val(WholePart) < 99 And BigWholePart = "" Then bUseAnd = False
          tmp = tmp & HundredsTensUnits(TestValue, bUseAnd)
       End If
      '  If in dollar mode, assure the text is the correct plurality
       If bUseDollars = True Then
          CentsString = HundredsTensUnits(DecimalPart)
          If tmp = "One " Then
             tmp = tmp & "Dollar"
          Else
             tmp = tmp & "Dollars"
          End If
          If Len(CentsString) > 0 Then
             tmp = tmp & " and " & CentsString
             If CentsString = "One " Then
                tmp = tmp & "Cent"
             Else
                tmp = tmp & "Cents"
             End If
          End If
       ElseIf bUseCheck = True Then
          tmp = tmp & "and " & Left$(DecimalPart & "00", 2)
          tmp = tmp & "/100"
       ElseIf bUseCheckDollar = True Then
          If tmp = "One " Then
             tmp = tmp & "Dollar"
          Else
             tmp = tmp & "Dollars"
          End If
          tmp = tmp & " and " & Left$(DecimalPart & "00", 2)
          tmp = tmp & "/100"
       Else
          If Len(DecimalPart) > 0 Then
            tmp = tmp & "Point"
            For cnt = 1 To Len(DecimalPart)
              tmp = tmp & " " & sNumberText(Mid$(DecimalPart, cnt, 1))
            Next
          End If
       End If
      '  Done!
       Numtotext = NumberSign & tmp
    End Function
    Private Sub BuildArray(sNumberText() As String)
       ReDim sNumberText(0 To 27) As String
       sNumberText(0) = "Zero"
       sNumberText(1) = "One"
       sNumberText(2) = "Two"
       sNumberText(3) = "Three"
       sNumberText(4) = "Four"
       sNumberText(5) = "Five"
       sNumberText(6) = "Six"
       sNumberText(7) = "Seven"
       sNumberText(8) = "Eight"
       sNumberText(9) = "Nine"
       sNumberText(10) = "Ten"
       sNumberText(11) = "Eleven"
       sNumberText(12) = "Twelve"
       sNumberText(13) = "Thirteen"
       sNumberText(14) = "Fourteen"
       sNumberText(15) = "Fifteen"
       sNumberText(16) = "Sixteen"
       sNumberText(17) = "Seventeen"
       sNumberText(18) = "Eighteen"
       sNumberText(19) = "Nineteen"
       sNumberText(20) = "Twenty"
       sNumberText(21) = "Thirty"
       sNumberText(22) = "Forty"
       sNumberText(23) = "Fifty"
       sNumberText(24) = "Sixty"
       sNumberText(25) = "Seventy"
       sNumberText(26) = "Eighty"
       sNumberText(27) = "Ninety"
    End Sub
    Private Function IsBounded(vntArray As Variant) As Boolean
      '  Note: the application in the IDE will stop
      '  at this line when first run if the IDE error
      '  mode is not set to "Break on Unhandled Errors"
      '  (Tools/Options/General/Error Trapping)
       On Error Resume Next
       IsBounded = IsNumeric(UBound(vntArray))
    End Function
    Private Function HundredsTensUnits(ByVal TestValue As Integer, _
                                  Optional bUseAnd As Boolean) As String
       Dim CardinalNumber As Integer
       If TestValue > 99 Then
          CardinalNumber = TestValue \ 100
          HundredsTensUnits = sNumberText(CardinalNumber) & " Hundred "
          TestValue = TestValue - (CardinalNumber * 100)
       End If
       If bUseAnd = True Then
          HundredsTensUnits = HundredsTensUnits & "and "
       End If
       If TestValue > 20 Then
          CardinalNumber = TestValue \ 10
          HundredsTensUnits = HundredsTensUnits & _
                              sNumberText(CardinalNumber + 18) & " "
          TestValue = TestValue - (CardinalNumber * 10)
       End If
       If TestValue > 0 Then
          HundredsTensUnits = HundredsTensUnits & _
        sNumberText(TestValue) & " "
       End If
    End Function

  3. #3
    Abu Dajana's Avatar
    Abu Dajana is offline Senior Member+
    Last Online
    4th July 2015 @ 04:21 PM
    Join Date
    21 Oct 2011
    Age
    38
    Gender
    Male
    Posts
    602
    Threads
    28
    Credits
    965
    Thanked
    131

    Default

    ۔4۔ اپنے کی بورڈ سے۔۔ آلٹ + کیو دبائیں۔۔اور یہ لیجئے۔۔ ہم نے میکرو کوڈنگ کے ذریعے۔۔اپنا فارمولہ بنالیا۔۔
    ۔
    ہمارا فنکشن ہے۔۔۔
    =numtotext(A1)
    اس فنکشن میں "اے ون" سیل ریفرنس ہے۔۔ یہ کوئی بھی سیل کا حوالہ دیا جاسکتا ہے۔۔جی۔
    ۔
    ابو:۔ ارے واہ۔۔ یعنی۔۔ اب ہم۔۔اپنے مرضی کے ہندسوں کو۔۔ ٹیکسٹ میں۔۔ تبدیل کرسکیں گے۔۔ واہ جی واہ۔۔
    کیا بات ہے۔۔دُجانہ تیری۔۔ کمال کیتی اے تسی وی۔۔
    ۔
    دُجانہ:-۔۔ بہت بہت شکریہ ابو جی۔۔

  4. #4
    mimrankhan's Avatar
    mimrankhan is offline Advance Member
    Last Online
    14th May 2023 @ 04:37 PM
    Join Date
    22 Aug 2012
    Location
    F.JANG
    Gender
    Male
    Posts
    3,891
    Threads
    95
    Credits
    1,281
    Thanked
    200

    Default

    any web link in signature is not allowed.

  5. #5
    muhammadijaved's Avatar
    muhammadijaved is offline Senior Member
    Last Online
    21st March 2018 @ 01:11 PM
    Join Date
    17 Aug 2009
    Location
    Rawalpindi
    Age
    41
    Gender
    Male
    Posts
    1,432
    Threads
    23
    Credits
    1,171
    Thanked
    83

    Default

    very nice
    [SIZE="4"][SIGPIC][/SIGPIC][/SIZE]
    [URL="http://www.itdunya.com/showthread.php?t=192727"][B][SIZE="5"][COLOR="DarkGreen"]DAE Group[/COLOR][/SIZE][/B][/URL]
    [URL="http://www.itdunya.com/showthread.php?t=172271"][B][SIZE="5"][COLOR="Red"]ماں[/COLOR][/SIZE][/B][/URL]

  6. #6
    msalman1412 is offline Senior Member+
    Last Online
    12th May 2016 @ 11:40 AM
    Join Date
    10 Oct 2012
    Age
    51
    Gender
    Male
    Posts
    80
    Threads
    8
    Credits
    1,000
    Thanked
    8

    Default

    Bohat khob janab...............

  7. #7
    Rahi's Avatar
    Rahi is offline Senior Member+
    Last Online
    1st December 2016 @ 10:18 AM
    Join Date
    28 Dec 2008
    Location
    Karachi
    Age
    66
    Posts
    2,142
    Threads
    12
    Credits
    32
    Thanked
    109

    Default

    بہت خوب، اچھی ٹپ شئیر کی ہے، شکریہ

  8. #8
    syar is offline Advance Member
    Last Online
    Today @ 09:24 AM
    Join Date
    31 Jul 2009
    Location
    Nowshera(KP)
    Age
    47
    Gender
    Male
    Posts
    886
    Threads
    10
    Credits
    563
    Thanked
    340

    Default

    nice sharing

  9. #9
    Abu Dajana's Avatar
    Abu Dajana is offline Senior Member+
    Last Online
    4th July 2015 @ 04:21 PM
    Join Date
    21 Oct 2011
    Age
    38
    Gender
    Male
    Posts
    602
    Threads
    28
    Credits
    965
    Thanked
    131

    Default

    بہت بہت شکریہ۔۔آپ سب کا۔۔

  10. #10
    sohail1966's Avatar
    sohail1966 is offline Advance Member
    Last Online
    Yesterday @ 12:42 AM
    Join Date
    29 Sep 2011
    Gender
    Male
    Posts
    762
    Threads
    19
    Credits
    400
    Thanked
    40

    Default


    بہت بہت شکریہ۔۔۔
    بہت ہی لا جواب ٹپ شئیر کی ہے۔۔

  11. #11
    Abid_Aziz20's Avatar
    Abid_Aziz20 is offline Junior Member
    Last Online
    14th October 2014 @ 03:23 PM
    Join Date
    02 Jun 2012
    Age
    40
    Gender
    Male
    Posts
    8
    Threads
    0
    Credits
    0
    Thanked: 1

    Default

    Bohat Hi Aala sir

  12. #12
    IQBAL JEE is offline Member
    Last Online
    23rd July 2018 @ 09:05 PM
    Join Date
    30 Nov 2011
    Location
    G-9/2,Islamabad
    Age
    39
    Gender
    Male
    Posts
    4,031
    Threads
    123
    Thanked
    187

    Default


    wah jee wah
    kia baat haikn
    thank you]



Page 1 of 3 123 LastLast

Similar Threads

  1. English, Hindu-Urdu, Pashto (Some Words)
    By Terminator in forum Baat cheet
    Replies: 9
    Last Post: 15th September 2019, 04:34 PM
  2. Microsoft Excel - Useful Shortcut Keys
    By IT_DOCTOR in forum General Discussion
    Replies: 10
    Last Post: 8th May 2015, 09:48 AM
  3. Office Excel File Convert
    By Naveedsaifi in forum Ask an Expert
    Replies: 0
    Last Post: 26th December 2012, 05:18 PM
  4. Ufone 1 sim say 2 number wow
    By Jani194 in forum General Mobile Discussion
    Replies: 62
    Last Post: 11th September 2011, 09:40 AM
  5. Answered Ms Excel Amount In Words
    By Superboy in forum Ask an Expert
    Replies: 16
    Last Post: 8th November 2009, 03:39 PM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •