COMO CONVERTIR NÚMEROS DECIMALES POSITIVOS A TEXTO EN EXCEL MEDIANTE UNA FUNCION PERSONALIZA CREADA EN VBA
Insertamos un módulo en el VBAProject del libro Excel que tenemos abierto
Function DECIMALTXT(Número As Double, Optional Separador As String) As String
Application.Volatile
Dim dcml As Double, Aux As String
If Separador = "" Then
Separador = "Punto"
End If
Aux = NMR((Fix(Número))) & " " & Separador
dcml = Round((Número - Fix(Número)) * 100)
Aux = Aux & " " & NMR(Fix(dcml))
DECIMALTXT = Aux
End Function
Private Function NMR(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 " + NMR(Número Mod 10), "")
Case 101 To 999
Resultado = C(Número \ 100) + IIf(Número Mod 100 <> 0, " " + NMR(Número Mod 100), "")
Case 1000 To 1999
Resultado = "Mil" + IIf(Número Mod 1000 <> 0, " " + NMR(Número Mod 1000), "")
Case 2000 To 999999
Resultado = NMR(Número \ 1000) + " Mil" + IIf(Número Mod 1000 <> 0, " " + NMR(Número Mod 1000), "")
Case 1000000 To 1999999
Resultado = "Un Millón" + IIf(Número Mod 1000000 <> 0, " " + NMR(Número Mod 1000000), "")
Case 2000000 To 1999999999
Resultado = NMR(Número \ 1000000) + " Millones" + IIf(Número Mod 1000000 <> 0, " " + NMR(Número Mod 1000000), "")
End Select
NMR = 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