BlogExcel

Cómo convertir un número a palabras en Excel

Hay un error ????

La opción explícita

‘Función principal

Función SpellNumber(ByVal MyNumber)

Dim Dólares, Centavos, Temp

Dim DecimalPlace, Count

ReDim Place(9) como cadena

Lugar (2) = «Mie»

Lugar (3) = «Millón»

Lugar (4) = «Millones»

Lugar (5) = «billones»

‘ Representación de cadena de sum.

MiNúmero = Trim(Str(MiNúmero))

‘ Posición decimal 0 si no está presente.

LugarDecimal = InStr(MiNúmero, «.»)

‘ Convierta centavos y establezca MyNumber en dólares.

Si LugarDecimal > 0 entonces

Centavos = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & _ «00», 2))

MiNúmero = Trim(Izquierda(MiNúmero, Lugar Decimal – 1))

Terminara si

Número = 1

Hacer Mientras MiNúmero «»

Temp = ObtenerCientos(Derecha(MiNúmero, 3))

Si Temp «» Entonces Dólares = Temp & Place (Número) & Dólares

Si Len(MiNúmero) > 3 Entonces

MiNúmero = Izquierda(MiNúmero, Len(MiNúmero) – 3)

De lo contrario

mi numero = «»

Terminara si

Número = Número + 1

Bucle

Seleccionar dólares de caja

El caso

Dólares = «Sin dólares»

Caso «Uno»

Dólares = «Un dólar»

El caso de algo más

Dólares = Dólares y «Dólares»

Fin de la selección

Seleccionar centavos de caja

El caso

Centavos = «y sin centavos»

Caso «Uno»

Centi = «y un centavo»

El caso de algo más

Centavos = » y » & Centavos & » Centavos»

Fin de la selección

SpellNumber = dólares y centavos

La función final

‘ Convierte un número de 100-999 a texto

Función ObtenerCientos(ByVal MiNúmero)

Dim resultado como cadena

Si Val(MyNumber) = 0 entonces salga de la función

MiNúmero = Derecha(«000» y MiNúmero, 3)

‘ Convierte el lugar de las centenas.

Si Mid(MiNúmero, 1, 1) «0» Entonces

Resultado = GetDigit(Mid(MyNumber, 1, 1)) & » Cien «

Terminara si

‘ Convierte el lugar de las decenas y unidades.

Si Mid(MiNúmero, 2, 1) «0» Entonces

Resultado = Resultado & GetTens(Mid(MyNumber, 2))

De lo contrario

Resultado = Resultado y GetDigit(Mid(MyNumber, 3))

Terminara si

GetHundreds = Resultado

La función final

‘ Convierte un número del 10 al 99 en texto.

Función GetTens(TensText)

Dim resultado como cadena

Result = «» ‘ Deshacer el valor de la función temporal.

If Val(Left(TensText, 1)) = 1 Entonces ‘ Si el valor entre 10-19…

Seleccionar valor de mayúsculas y minúsculas (TensText)

Caso 10: Resultado = «Diez»

Caso 11: Resultado = «Once»

Caso 12: Resultado = «Doce»

Caso 13: Resultado = «Trece»

Caso 14: Resultado = «Catorce»

Caso 15: Resultado = «Quince»

Caso 16: Resultado = «Dieciséis»

Caso 17: Resultado = «Diecisiete»

Caso 18: Resultado = «Dieciocho»

Caso 19: Resultado = «Diecinueve»

El caso de algo más

Fin de la selección

Else ‘ Si el valor entre 20-99…

Seleccione Case Val (Izquierda (TensText, 1))

Caso 2: Resultado = «Veinte»

Caso 3: Resultado = «Treinta»

Caso 4: Resultado = «Cuarenta»

Caso 5: Resultado = «Cincuenta»

Caso 6: resultado = «Sesenta»

Caso 7: Resultado = «Setenta»

Caso 8: Resultado = «Ochenta»

Caso 9: Resultado = «Noventa»

El caso de algo más

Fin de la selección

Resultado = Resultado y GetDigit _

(Right(TensText, 1)) ‘ Ocupar el lugar.

Terminara si

ObtenerDecenas = Resultado

La función final

‘ Convierte un número del 1 al 9 en texto.

Función ObtenerDígito(Dígito)

Seleccionar valor de caso (dígito)

Caso 1: GetDigit = «Uno»

Caso 2: GetDigit = «Dos»

Caso 3: GetDigit = «Tres»

Caso 4: GetDigit = «Cuatro»

Caso 5: GetDigit = «Cinco»

Caso 6: GetDigit = «Seis»

Caso 7: GetDigit = «Siete»

Caso 8: GetDigit = «Ocho»

Caso 9: GetDigit = «Nueve»

Caso contrario: GetDigit = «»

Fin de la selección

La función final

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar