Sal Paradise
Well-known Member
- Joined
- Oct 23, 2006
- Messages
- 2,457
I am currently creating a massive bilingual report using Excel based on data gathered from a customer visit, as most of the engineers are non-native English speakers, and most everywhere else in the world wants reports in English. Currently I am using this roundabout method:
I have a lookup Table sheet:
This sheet holds all my language information (the real sheet actually has a label row in column A which is added to manage the dropdowns for several categories, but that's neither here nor there).
This sheet is for inputting data in your native language:
As you can see, you decide the input language (which determines the list the input dropdown comes from), and you decide the output language (which will determine the OutputSheet language).
In order to get from step A to step B without massive messy formulas, I create a 'tweener sheet:
</td></tr></table></td></tr></table>
This stores all my data in between, so I have the indexes of all the things I need to look up, regardless of what the output language becomes.
Then I look up those indexes in the final step to get my output:
</td></tr></table></td></tr></table>
Presto! Without using any French at all, I translated my list into French, and could do it into Croatian if I added the data.
The problems with this method (as far as I can tell) are primarily:
Is there a similar way to do this with VBA that is cleaner or neater? Are there obvious improvements I can make to my method or formulas without using VBA? Is this one of those problems that so few people have that it won't get any response? Please let me know.
I have a lookup Table sheet:
Excel Workbook | |||||
---|---|---|---|---|---|
A | B | C | |||
1 | English | Japanese | French | ||
2 | Dog | ? | Chien | ||
3 | Cat | ? | Chat | ||
4 | Fish | ? | Poisson | ||
5 | Song | ? | Chanson | ||
6 | Trash | ?? | Poubelle | ||
7 | House | ? | Maison | ||
LookupTable |
This sheet holds all my language information (the real sheet actually has a label row in column A which is added to manage the dropdowns for several categories, but that's neither here nor there).
This sheet is for inputting data in your native language:
Excel Workbook | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
A | B | C | D | E | F | G | H | I | |||
1 | Input: | English | |||||||||
2 | Output: | French | |||||||||
3 | |||||||||||
4 | # | Item | |||||||||
5 | 4 | Cat | |||||||||
6 | 2 | Dog | |||||||||
7 | 1 | Trash | |||||||||
8 | 4 | House | |||||||||
9 | 2 | Song | |||||||||
InputSheet |
As you can see, you decide the input language (which determines the list the input dropdown comes from), and you decide the output language (which will determine the OutputSheet language).
In order to get from step A to step B without massive messy formulas, I create a 'tweener sheet:
#VALUE!
This stores all my data in between, so I have the indexes of all the things I need to look up, regardless of what the output language becomes.
Then I look up those indexes in the final step to get my output:
#VALUE!
Presto! Without using any French at all, I translated my list into French, and could do it into Croatian if I added the data.
The problems with this method (as far as I can tell) are primarily:
- If I have a dozen dropdowns (as I do), it means managing dozens of named ranges
- I need an intermediate page to diddle the data without it getting unwieldy
- It's slow (relatively speaking), since everything is all formulas
- Let's say I have a French guy and an English guy making a Japanese report. The French guy wants to input in French, and the English guy in English, but the input method only allows a single language for input (if you switch partway, the intermediate sheet can't look anything up, and to add the possibility to the formulas would be a massive processor hog)
Is there a similar way to do this with VBA that is cleaner or neater? Are there obvious improvements I can make to my method or formulas without using VBA? Is this one of those problems that so few people have that it won't get any response? Please let me know.