Solved

Excell macro to translate curency numbers into test in Arabic

Posted on 2011-09-28
10
290 Views
Last Modified: 2012-05-12
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
0
Comment
Question by:Hassanay
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 4
  • 2
10 Comments
 
LVL 19

Expert Comment

by:Arno Koster
ID: 36715490
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
 
LVL 19

Expert Comment

by:Arno Koster
ID: 36715503
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
 

Author Comment

by:Hassanay
ID: 36715617
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
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 17

Expert Comment

by:andrewssd3
ID: 36715792
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
 

Author Comment

by:Hassanay
ID: 36715875
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
 
LVL 17

Accepted Solution

by:
andrewssd3 earned 500 total points
ID: 36716234
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
 

Author Comment

by:Hassanay
ID: 36716479
sorry but i cant see any macro of function in the attached
0
 
LVL 17

Expert Comment

by:andrewssd3
ID: 36716559
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
 
LVL 17

Expert Comment

by:andrewssd3
ID: 36717672
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
 

Author Closing Comment

by:Hassanay
ID: 37265734
Thats ok, but i have to do a lot of work here, i hoped it will work as the english one!
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction While answering a recent question (http:/Q_27311462.html), I created an alternative function to the Excel Concatenate() function that you might find useful.  I tested several solutions and share the results in this article as well as t…
When you see single cell contains number and text, and you have to get any date out of it seems like cracking our heads.
This Micro Tutorial will demonstrate how to create pivot charts out of a data set. I also added a drop-down menu which allows to choose from different categories in the data set and the chart will automatically update.
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

752 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question