Excel Tutorial: Convert Number to Words in Bangladesh Taka (BDT)




In this article, we want to share how to convert number to Bangladeshi taka in excel easily and earlier than writing phrases manually. like as, you write the number ‘123’. However, now you do not want to type to MS Excel manually. Whatever you wish to convert number to Bangladeshi taka (Taka One Hundred Twenty Three), you need to use this function: =BangladeshiTaka (Required cell). You want to follow these steps first:

  1. Create a new excel file first
  2. Press Alt + F11, to open Microsoft Visual Basic (or go to View -> Module)
  3. The Microsoft Visual Basic to the Insert menu levels to Module Click on.
  4. Copy the written down code to avoid wasting time.
  5. Save the code and close Microsoft Visual Editor.

Function BangladeshiTaka(ByVal N As Currency) As String

   Const Thousand = 1000@
   Const Lac = 100000@
   Const Crore = 10000000@

   If (N = 0@) Then BangladeshTaka = "Zero": Exit Function

   Dim Buf As String: If (N < 0@) Then Buf = "Negative " Else Buf = ""
   Dim Frac As Currency: Frac = Abs(N - Fix(N))
   If (N < 0@ Or Frac <> 0@) Then N = Abs(Fix(N))
   Dim AtLeastOne As Integer: AtLeastOne = N >= 1

   If (N >= Crore) Then
      Buf = Buf & BangladeshTakaDigitGroup(Int(N / Crore)) & " Crore"
      N = N - Int(N / Crore) * Crore
      If (N >= 1@) Then Buf = Buf & " "
   End If

   If (N >= Lac) Then
      Buf = Buf & BangladeshTakaDigitGroup(Int(N / Lac)) & " Lac"
      N = N - Int(N / Lac) * Lac
      If (N >= 1@) Then Buf = Buf & " "
   End If

   If (N >= Thousand) Then
      Buf = Buf & BangladeshTakaDigitGroup(N \ Thousand) & " Thousand"
      N = N Mod Thousand
      If (N >= 1@) Then Buf = Buf & " "
   End If

   If (N >= 1@) Then
      Buf = Buf & BangladeshTakaDigitGroup(N) & ""
   End If

   If (Frac = 0@) Then
      Buf = Buf & ""
   Else
      If AtLeastOne Then Buf = Buf & " "
      Buf = Buf & " and " & BangladeshTakaDigitGroup(Frac * 100) & " Paisa"
   End If

   BangladeshiTaka = "Taka " & Buf & " Only"
End Function

Private Function BangladeshTakaDigitGroup(ByVal N As Integer) As String
   Const Hundred = " Hundred"
   Const One = "One"
   Const Two = "Two"
   Const Three = "Three"
   Const Four = "Four"
   Const Five = "Five"
   Const Six = "Six"
   Const Seven = "Seven"
   Const Eight = "Eight"
   Const Nine = "Nine"
   Dim Buf As String: Buf = ""
   Dim Flag As Integer: Flag = False

   Select Case (N \ 100)
      Case 0: Buf = "": Flag = False
      Case 1: Buf = One & Hundred: Flag = True
      Case 2: Buf = Two & Hundred: Flag = True
      Case 3: Buf = Three & Hundred: Flag = True
      Case 4: Buf = Four & Hundred: Flag = True
      Case 5: Buf = Five & Hundred: Flag = True
      Case 6: Buf = Six & Hundred: Flag = True
      Case 7: Buf = Seven & Hundred: Flag = True
      Case 8: Buf = Eight & Hundred: Flag = True
      Case 9: Buf = Nine & Hundred: Flag = True
   End Select

   If (Flag <> False) Then N = N Mod 100
   If (N > 0) Then
      If (Flag <> False) Then Buf = Buf & " "
   Else
      BangladeshTakaDigitGroup = Buf
      Exit Function
   End If

   Select Case (N \ 10)
      Case 0, 1: Flag = False
      Case 2: Buf = Buf & "Twenty": Flag = True
      Case 3: Buf = Buf & "Thirty": Flag = True
      Case 4: Buf = Buf & "Forty": Flag = True
      Case 5: Buf = Buf & "Fifty": Flag = True
      Case 6: Buf = Buf & "Sixty": Flag = True
      Case 7: Buf = Buf & "Seventy": Flag = True
      Case 8: Buf = Buf & "Eighty": Flag = True
      Case 9: Buf = Buf & "Ninety": Flag = True
   End Select

   If (Flag <> False) Then N = N Mod 10
   If (N > 0) Then
      If (Flag <> False) Then Buf = Buf & " "
   Else
      BangladeshTakaDigitGroup = Buf
      Exit Function
   End If

   Select Case (N)
      Case 0:
      Case 1: Buf = Buf & One
      Case 2: Buf = Buf & Two
      Case 3: Buf = Buf & Three
      Case 4: Buf = Buf & Four
      Case 5: Buf = Buf & Five
      Case 6: Buf = Buf & Six
      Case 7: Buf = Buf & Seven
      Case 8: Buf = Buf & Eight
      Case 9: Buf = Buf & Nine
      Case 10: Buf = Buf & "Ten"
      Case 11: Buf = Buf & "Eleven"
      Case 12: Buf = Buf & "Twelve"
      Case 13: Buf = Buf & "Thirteen"
      Case 14: Buf = Buf & "Fourteen"
      Case 15: Buf = Buf & "Fifteen"
      Case 16: Buf = Buf & "Sixteen"
      Case 17: Buf = Buf & "Seventeen"
      Case 18: Buf = Buf & "Eighteen"
      Case 19: Buf = Buf & "Nineteen"
   End Select

   BangladeshTakaDigitGroup = Buf

End Function


How to use: Suppose, you write the desired number (123) as cell A1 and you want to convert this number in cell A2. Then you should use the formula in cell A2 as like =BangladeshiTaka(A1).

We think, now you can easily convert numbers to Bangladeshi taka using this formula. If you face any difficulty, then you are welcome to contact us.

 

Comments