Excell macro to translate curency numbers into test in Arabic

I have an excell sheet which contains currencies amount, i need a macro that can translate this currencies into Text, but the problem is that the currency is in Saudi riyals & i need the text to be in arabic
HassanayAsked:
Who is Participating?
 
andrewssd3Connect With a Mentor Commented:
Hi - this is a problem because the VBA editor does not handle unicode strings directly - you can store them in strings, but you won't be able to see the values, and if you use the immediate window or debugging you'll always see ???.

The way I've done this before is to put the language strings onto a sheet in the workbook (which you could hide), then read them from the sheet into VBA string variables - in the attached example I have read them into an array.  The example demonstrates how you could get the strings for the numbers 1-10 into the array, and puts up a dialog box to show that the values are really there (Msgbox shows them as ??? too).

You would obviously need to do this with all the numbers you need.  I apologise if the numbers I have used aren't right - I just got them from the web.  I hope someone is not playing a trick and they're all rude words. arabic-nos.xlsm
0
 
Arno KosterCommented:
It could be as simple as using formatting to supply the format you are looking for :

select the cells you want to format
right-mouse-click
select cell properties
in the 'number' tab, select "Custom" category
in the "type" section you can supply an arbitrary layout, such as :

standard saudi currency format (eg 123.45 ¿.¿ )
[$¿.¿.¿-401] #.##0,00_-

custom format (eg SAR 123.45)
[$SAR] #.##0,00_-

custom format (eg bladibla 123.45)
"bladibla " #.##0,00_-

0
 
Arno KosterCommented:
The copy-pasting of the riyal formatting did not work as expected, to use the standard saudi currency format use these steps :

select the cells you want to format
right-mouse-click on the selected cells
select cell properties
in the 'number' tab, select "Currency" category
in the 'symbol' section, choose appropriate symbol from the list (Arabic - saudi arabia)
click OK
0
Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

 
HassanayAuthor Commented:
maybe you got me wrong, i want to translate number to text, ex: 100..it must give me one hundred riyals,bit i want the text in Arabic not english
0
 
andrewssd3Commented:
VBA does not have a built-in way to do this.  There are various examples of user-defined functions if you Google it, e.g. http://www.ozgrid.com/VBA/ValueToWords.htm, but this is obviously in English and I guess it would not be simple to translate it to Arabic, unless numbers are read out  with exactly the same structure as in English which seems unlikely.  It might be worth taking a look at the code to see if you could adapt it - my Arabic is not good enough, I'm afraid.
0
 
HassanayAuthor Commented:
thankx, i got the module, but the prblem when am trying to replace the english text to rabaic but it is giving me ????,,ex: thousand.....must be ¿¿¿  but it is writing ???

is there any suggestion?
0
 
HassanayAuthor Commented:
sorry but i cant see any macro of function in the attached
0
 
andrewssd3Commented:
It's called GetNumberStrings in modArabic - you should be able to find it in the Macros list on the developer tab.  Not sure what version of Excel you have, but you may need to enable macros when you open, or if it's 2010 allow content from the web in the bar atthe top of the worksheet
0
 
andrewssd3Commented:
This looks to be a very comprehensive article about doing this in Arabic, although it's for C# code, it may have some ideas you can use: http://www.codeproject.com/KB/cs/NumberToWord.aspx
0
 
HassanayAuthor Commented:
Thats ok, but i have to do a lot of work here, i hoped it will work as the english one!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.