Ya que mediante el formato de Excel no es posible, la solución puede ser crear un módulo de Visual Basic que nos realice el trabajo. Afortunadamente, Microsoft nos ofrece otra alternativa en su página web del área de descarga de Excel. Se trata de utilizar una función llamada Recibo, que se encuentra en una librería dinámica y que puede llamarse desde Excel definiendo una función.
Veamos los pasos a seguir:
Descargamos a nuestro disco duro el archivo E10467.EXE de la dirección
http://www.microsoft.com/spain/support/kbsl/softlib/msfiles/E10467.EXE El archivo E10467.EXE contiene dos archivos empaquetados: DLLTCAST.DLL y E10467.DOC. El primero es la librería dinámica que contiene la función Recibo y el segundo es un archivo de Word con las instrucciones para utilizar en Excel la función. Ejecutamos el archivo E10467.EXE y copiamos el archivo DLLTCAST.DLL a la carpeta c:\windows\system de nuestro disco duro.
Arrancamos Excel y en un nuevo libro o en el que necesitemos utilizar la conversión de números a letras, insertamos un nuevo módulo de Visual Basic. En Excel 2000 mediante el menú Herramientas--Macro--Editor de Visual Basic y a continuación ejecutando en este editor el comando Insertar--Módulo.
Escribimos el código siguiente en el módulo:
Declare Sub Recibo Lib "dlltcast.dll" (cifra As Long, ByVal texto As String)
Function letras(minumero)
Dim texto As String * 255
Dim cifra As Long
texto = String(255, 0)
cifra = CLng(minumero)
Call Recibo(cifra, texto)
letras = texto
End Function
Guardamos el libro de trabajo y cerramos el editor de Visual Basic. Probamos a utilizar la función en la hoja de cálculo en la que hemos definido la función escribiendo =letra(Número). Siendo número un valor numérico o una referencia de celda que contenga un número. Por ejemplo: =letra(56789) o =letra(B2).
En el archivo de Word E10467.DOC podemos ver la forma de utilizar la función desde cualquier hoja de cálculo sin tener que definirla nuevamente.