Bien, te dejo una función simplificada para promedios, entiendo que las notas irán de 0 a 10
En el Editor de macros insertá un módulo y copiá el adjunto.
En la hoja, donde quieras obtener el texto colocá la función: =Aletras(A2), ejemplo para una nota ubicada en celda A2.
Function Aletras(x)
'x Elsamatilde
notas = Array("cero", "uno", "dos", "tres", "cuatro", "cinco", _
"seis", "siete", "ocho", "nueve", "diez")
centavos = Int(x * 10) Mod 10
x = Int(x)
ent = x Mod 1000
Aletras = UCase(Left(notas(ent), 1)) & Mid(notas(ent), 2, Len(notas(ent)) - 1)
letracent = notas(centavos)
If centavos > 0 Then Aletras = Aletras & " punto " & letracent
End Function
* Un capítulo completo dedicado al desarrollo de funciones personales en manual 400MacrosPlus