COMO CONVERTIR UN NÚMERO ENTERO POSITIVO A TEXTO EN EXCEL MEDIANTE UNA FUNCIÓN PERSONALIZADA (UDF)
Insertamos un módulo en el VBAProject (PERSONAL.XLSB)
Si deseamos que la UDF este disponible para emplearse en cualquier Libro.
Insertamos un módulo en el VBAProject del Libro en Uso
Si deseamos que la UDF este disponible únicamente para emplearse en un libro en especifico. Para identificarlo este lleva el mismo nombre del archivo y una vez que se escriba el código, el archivo debe guardarse como Libro de Excel habilitado para macros.
Copiamos el siguiente código:
Function NUMEROTXT(Número As Long) As String
Dim U, D, C
Dim Resultado As String
U = Array("", "Uno", "Dos", "Tres", "Cuatro", "Cinco", "Seis", "Siete", "Ocho", "Nueve", "Diez", "Once", "Doce", "Trece", "Catorce", "Quince", "Dieciséis", "Diecisiete", "Dieciocho", "Diecinueve", "Veinte", "Veintiuno", "Veintidós", "Veintitrés", "Veinticuatro", "Veinticinco", "Veintiséis", "Veintisiete", "Veintiocho", "Veintinueve")
D = Array("", "Diez", "Veinte", "Treinta", "Cuarenta", "Cincuenta", "Sesenta", "Setenta", "Ochenta", "Noventa", "Cien")
C = Array("", "Ciento", "Doscientos", "Trescientos", "Cuatrocientos", "Quinientos", "Seiscientos", "Setecientos", "Ochocientos", "Novecientos")
Select Case Número
Case 0
Resultado = "Cero"
Case 1 To 29
Resultado = U(Número)
Case 30 To 100
Resultado = D(Número \ 10) + IIf(Número Mod 10 <> 0, " y " + NUMEROTXT(Número Mod 10), "")
Case 101 To 999
Resultado = C(Número \ 100) + IIf(Número Mod 100 <> 0, " " + NUMEROTXT(Número Mod 100), "")
Case 1000 To 1999
Resultado = "Mil" + IIf(Número Mod 1000 <> 0, " " + NUMEROTXT(Número Mod 1000), "")
Case 2000 To 999999
Resultado = NUMEROTXT(Número \ 1000) + " Mil" + IIf(Número Mod 1000 <> 0, " " + NUMEROTXT(Número Mod 1000), "")
Case 1000000 To 1999999
Resultado = "Un Millón" + IIf(Número Mod 1000000 <> 0, " " + NUMEROTXT(Número Mod 1000000), "")
Case 2000000 To 1999999999
Resultado = NUMEROTXT(Número \ 1000000) + " Millones" + IIf(Número Mod 1000000 <> 0, " " + NUMEROTXT(Número Mod 1000000), "")
End Select
NUMEROTXT = Resultado
End Function
Pegamos el código:
Guardamos según nuestra preferencia, ya sea como: Libro de Excel habilitado para macros, Complemento de Excel o exportamos el módulo.
Comentarios
Publicar un comentario