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:
- There is no international standard for number-to-words conversion โ every language and currency has different rules
- UAE Dirhams require a specific format: One Thousand Two Hundred Fifty Dirhams Only (with "Only" at the end)
- Decimal amounts (fils) need special handling: ...and Fifty Fils Only
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
- Open your Excel file
- Press Alt + F11 to open the Visual Basic Editor
- In the menu, click Insert > Module
- Paste the code below into the blank module window
- 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:
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:
- Open chequeprinteruae.com/amount-to-words/
- Type your AED amount (e.g. 1250.50)
- Click Copy โ the words are copied to clipboard
- 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.00 | Five Hundred Dirhams Only |
| 1,000.00 | One Thousand Dirhams Only |
| 1,250.75 | One Thousand Two Hundred and Fifty Dirhams and Seventy Five Fils Only |
| 2,500.00 | Two Thousand Five Hundred Dirhams Only |
| 5,000.00 | Five Thousand Dirhams Only |
| 10,000.50 | Ten Thousand Dirhams and Fifty Fils Only |
| 25,000.00 | Twenty Five Thousand Dirhams Only |
| 50,000.00 | Fifty Thousand Dirhams Only |
| 100,000.00 | One Hundred Thousand Dirhams Only |
| 440,000.00 | Four 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 โ