Excel Guide โ€” UAE

AED Amount to Words in Excel โ€” Free VBA Formula for UAE Dirhams & Fils

Updated August 2026  ยท  7 min read

Quick Answer

Excel has no built-in function for AED to words. Your options: (1) Use the free online converter below and paste the result into Excel โ€” easiest. (2) Use the VBA macro on this page for automatic conversion in your Excel template. (3) Use a cheque printing add-in if you print many cheques.

Easiest Method: Use the Free Online Converter

Type your amount โ†’ copy the words โ†’ paste into Excel. Done in 10 seconds.

Open Free AED to Words Converter โ†’

Why Excel Has No Built-In AED to Words Formula

Microsoft Excel's built-in functions can format numbers as currency (AED 1,250.00) but cannot convert them to written words. This is because:

The solution is a custom VBA macro โ€” a small program you add to Excel once, and then use as a formula in any cell.

Method 1: VBA Macro for AED to Words in Excel

This VBA code converts any AED amount to words in the correct UAE cheque/invoice format. Copy and paste it once into your Excel file.

Step 1: Open the VBA Editor

  1. Open your Excel file
  2. Press Alt + F11 to open the Visual Basic Editor
  3. In the menu, click Insert > Module
  4. Paste the code below into the blank module window
  5. Press Alt + Q to close the VBA editor

Step 2: Paste this VBA code

Function SpellAED(ByVal Amount As Double) As String
    Dim dirhams As Long
    Dim fils As Long
    
    dirhams = Int(Amount)
    fils = Round((Amount - dirhams) * 100, 0)
    
    Dim result As String
    result = SpellNumber(dirhams) & " Dirhams"
    
    If fils > 0 Then
        result = result & " and " & SpellNumber(fils) & " Fils"
    End If
    
    SpellAED = result & " Only"
End Function

Function SpellNumber(ByVal MyNumber As Long) As String
    Dim Ones(19) As String
    Dim Tens(9) As String
    
    Ones(0) = "": Ones(1) = "One": Ones(2) = "Two"
    Ones(3) = "Three": Ones(4) = "Four": Ones(5) = "Five"
    Ones(6) = "Six": Ones(7) = "Seven": Ones(8) = "Eight"
    Ones(9) = "Nine": Ones(10) = "Ten": Ones(11) = "Eleven"
    Ones(12) = "Twelve": Ones(13) = "Thirteen": Ones(14) = "Fourteen"
    Ones(15) = "Fifteen": Ones(16) = "Sixteen": Ones(17) = "Seventeen"
    Ones(18) = "Eighteen": Ones(19) = "Nineteen"
    
    Tens(0) = "": Tens(1) = "": Tens(2) = "Twenty"
    Tens(3) = "Thirty": Tens(4) = "Forty": Tens(5) = "Fifty"
    Tens(6) = "Sixty": Tens(7) = "Seventy": Tens(8) = "Eighty"
    Tens(9) = "Ninety"
    
    If MyNumber = 0 Then SpellNumber = "Zero": Exit Function
    
    Dim temp As String
    If MyNumber >= 1000000 Then
        temp = SpellNumber(MyNumber \ 1000000) & " Million"
        MyNumber = MyNumber Mod 1000000
        If MyNumber > 0 Then temp = temp & " "
        SpellNumber = temp
    End If
    If MyNumber >= 1000 Then
        temp = SpellNumber(MyNumber \ 1000) & " Thousand"
        MyNumber = MyNumber Mod 1000
        If MyNumber > 0 Then temp = temp & " "
        SpellNumber = SpellNumber & temp
    End If
    If MyNumber >= 100 Then
        temp = Ones(MyNumber \ 100) & " Hundred"
        MyNumber = MyNumber Mod 100
        If MyNumber > 0 Then temp = temp & " and "
        SpellNumber = SpellNumber & temp
    End If
    If MyNumber >= 20 Then
        temp = Tens(MyNumber \ 10)
        If MyNumber Mod 10 > 0 Then temp = temp & " " & Ones(MyNumber Mod 10)
        SpellNumber = SpellNumber & temp
    ElseIf MyNumber > 0 Then
        SpellNumber = SpellNumber & Ones(MyNumber)
    End If
End Function

Step 3: Use in any cell

Once the macro is added, use it as a regular formula. If your invoice total is in cell B5:

=SpellAED(B5)

Output: One Thousand Two Hundred Fifty Dirhams Only

Important: Save as .xlsm

When you save the file, Excel will ask about macros. Choose Save as Excel Macro-Enabled Workbook (.xlsm). If you save as .xlsx, the VBA code is deleted and the formula will stop working.

Method 2: AED to Words Without VBA (Online Converter)

If you only need to convert a few amounts, or if your organization restricts macros, the easiest method is our free online converter:

  1. Open chequeprinteruae.com/amount-to-words/
  2. Type your AED amount (e.g. 1250.50)
  3. Click Copy โ€” the words are copied to clipboard
  4. Click into your Excel cell and press Ctrl+V to paste

The converter handles both English and Arabic output, and automatically formats "Dirhams and Fils Only" for decimal amounts.

Common AED Amounts in Words โ€” Excel Reference Table

Copy these directly into your Excel cells:

Amount Words for Excel / Invoice
500.00Five Hundred Dirhams Only
1,000.00One Thousand Dirhams Only
1,250.75One Thousand Two Hundred and Fifty Dirhams and Seventy Five Fils Only
2,500.00Two Thousand Five Hundred Dirhams Only
5,000.00Five Thousand Dirhams Only
10,000.50Ten Thousand Dirhams and Fifty Fils Only
25,000.00Twenty Five Thousand Dirhams Only
50,000.00Fifty Thousand Dirhams Only
100,000.00One Hundred Thousand Dirhams Only
440,000.00Four Hundred and Forty Thousand Dirhams Only

Frequently Asked Questions

Why does my VBA SpellNumber show "Dollars" instead of "Dirhams"?

The Microsoft SpellNumber sample code uses Dollars and Cents by default. You need to replace "Dollars" with "Dirhams" and "Cents" with "Fils" in the code โ€” or use the SpellAED function above which is pre-configured for UAE Dirhams.

How do I remove the extra "and" in the words output?

Some VBA implementations add "and" between thousands and hundreds (e.g. "One Thousand and Two Hundred"). UAE cheque format typically writes "One Thousand Two Hundred" without the "and" between thousands and hundreds โ€” only "and" before Fils. The code above follows UAE bank cheque format.

Can I use this for Odoo or Tally instead of Excel?

For Odoo, use our online converter and paste into the narration field, or ask your developer to install the l10n_ae UAE localization module. For Tally, use our converter and paste into the remarks. For MS Word invoice templates, the same VBA approach works โ€” add the module to your Word document's macro editor.

Does the formula work for large amounts like 1 million AED?

Yes, the SpellAED function above handles amounts up to 999,999,999 (nearly 1 billion AED). For AED 1,000,000 it outputs: One Million Dirhams Only.

Print cheques instead of writing them by hand?

Our cheque printing software auto-fills both the amount in figures and words for all 45+ UAE banks โ€” no Excel formula needed.

See Cheque Printer UAE Package โ†’

Related: Free AED to Words Converter ยท AED Dirham Symbol Guide ยท How to Write Dirhams and Fils