¿Alguna vez has tenido que preparar un modelo en Excel para usuarios que hablen diferentes idiomas?
En este envío te explicaré cómo hacerlo mediante BuscarV, para que sea tan sencillo como elegirlo de un desplegable.
http://www.youtube.com/watch?v=22e63j7ecfU
preparativos
Para comenzar necesitaremos crear una tabla con los textos en los diferentes idiomas.
Mi consejo es crear una Tabla (Insertar>Tabla)
Yo he puesto una primera columna con un identificador único para cada texto (que en este caso es un número, pero puede ser cualquier cosa), y a continuación una columna para cada idioma diferente que queramos tener en el modelo.
Para facilitar más las cosas, voy a crear un nombre de rango con los idiomas disponibles, que tomo de los encabezados de la tabla de traducciones
Este nombre de rango es el que vamos a usar como lista de origen en la validación de la celda donde queremos que el usuario elija el idioma de la interfaz del modelo.
Al elegir el origen de la lista, pulsando la tecla [F3] se muestra el formulario Pegar Nombre para elegir entre los nombres definidos en el libro
Mediante esta validación de datos (Datos>Herramientas de datos>validación de datos) de tipo lista conseguimos mostrar el desplegable en la celda de selección del idioma
Para simplificar la lectura de las fórmulas, a esta celda donde elegimos el idioma también le vamos a asignar un nombre, en este caso el nombre será "IdiomaElegido"
Ahora la traducción con BUSCARV
Ya tenemos todo preparado para traducir el modelo.
La idea es emplear fórmulas que busquen el texto en la tabla de traducciones en vez de escribir directamente los textos en las celdas como haríamos normalmente.
Por ejemplo, para buscar la cadena nº 1:
queremos buscar la cadena con ID 1 en la tabla de traducciones, y que nos devuelva el valor de esa tabla correspondiente a la columna del idioma elegido. Aquí es donde entra en acción BUSCARV
El nombre que hayamos puesto a la tabla de traducciones aparece como ayuda cuando comenzamos a teclearlo.
Para saber qué columna corresponde al idioma elegido emplearemos la función COINCIDIR. le pediremos que nos diga en qué posición del encabezado se encuentra el idioma elegido:
aquí le pedimos que busque el idiomaelegido (menos mal que definimos el nombre antes...) en los encabezados de la TablaTraducciones (otra buena idea fue ponerle este nombre a la tabla de traducciones ¿verdad?), y el último argumento, 0 indica que queremos una coincidencia exacta.
En nuestro caso, encontrará Español en la posición 2 y encontrará English en la posición 3.
Esto es lo que necesitamos para indicar la columna de resultados dentro de nuestra función BuscarV. Ahora la función quedará finalmente así:
=BUSCARV(1;TablaTraducciones;COINCIDIR(IdiomaElegido;TablaTraducciones[#Encabezados];0);FALSO)
donde el último argumento Falso sirve para indocar que queremos la coincidencia exacta.
Ya sólo queda ir repitiendo esta misma fórmula, cambiando el id para cada caso, en cada una de las celdas donde tengamos un texto que hay aque traducir.
Dejo el archivo de ejemplo para que se pueda descargar.
Como siempre, cualquier comentario será bien recibido.
Adjunto | Tamaño |
---|---|
excel-interfaz-idiomas.xlsx | 10.83 KB |
Comentarios
Re: Traducir Interfaz del modelo Excel con BuscarV
Jeje... esto me ha dado una idea para implementar la internacionalización si algún completase mi programa en VBA...
mediante Arrays, y asociar una Id a cada elemento del menú. Voy a probarlo a ver.
Eres grande Paco.
-----------------------------------------------------------------
www.TrazEX.com (soluciones sobre Excel)
Re: Traducir Interfaz del modelo Excel con BuscarV
y si además pudiese vivir de esto, sería óptimo (pero aún no he encontrado esa opción en el menú )
------
Ya sé Excel, pero necesito más.