Como respuesta a un comentario en este blog, donde se pregunta acerca de la conversión de números a texto para el caso de Calificaciones, he modificado el código para que funcione un poco mejor. Cualquier mejora o adaptación que deseen compartir, será bienvenida y recibida con agrado y entusiasmo por la comunidad.

Basta de palabras, comencemos con el código para la Macro en Excel.

  • Seleccionar la celda (vacía) donde se hará la conversión.
  • Para Excel 2003, dar clic en Herramientas/Macro/Editor de Visual Basic; para Excel 2007 y Excel 2010, dar clic en la ficha Vista, opción Macro, Ver Macros, escribir el nombre y clic en crear. Con cualquiera de las dos versiones aparece una ventana de nombre Microsoft Visual Basic – Libro1, borra las dos líneas de código que ahí aparecen y pega el siguiente código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
Public Function np(R As Single) As String
Dim d1 As String
Dim d2 As String
Dim i, k As Integer
Dim R2, dif As Single
R2 = R * 10
dif = R2 - Fix(R2)
If dif >= 0.5 Then R2 = R2 + 1
R = Fix(R2) / 10
d1 = Format$(R, "0.0")
i = Val(Left$(d1, 2))
k = Val(Right$(d1, 1))
d1 = digito(i)
d2 = digito(k)
np = d1 + " punto " + d2
End Function
 
Function digito(ByVal j As Integer) As String
Select Case j
Case 0
digito = "Cero"
Case 1
digito = "Uno"
Case 2
digito = "Dos"
Case 3
digito = "Tres"
Case 4
digito = "Cuatro"
Case 5
digito = "Cinco"
Case 6
digito = "Seis"
Case 7
digito = "Siete"
Case 8
digito = "Ocho"
Case 9
digito = "Nueve"
Case 10
digito = "Diez"
End Select
End Function
  • Guardas los cambios y cierras la ventana Microsoft Visual Basic.
  • Da clic en el ícono de Excel Insertar función “fx”, aparece una ventana en la cual debes buscar np, cuando salga la seleccionamos y damos clic en aceptar, en la siguiente ventana escribimos la celda que contiene el número a convertir, por ejemplo “e5″. También puedes escribir =np(celda), como ejemplo =np(e5).
  • Ahora presionas ENTER y disfrútalo.