Conversión de números a letras en Excel 2016
Resuelto
gturkmen
Mensajes publicados
117
Estado
Membre
-
BIBO -
BIBO -
Hola,
Tengo Excel 2016 y quisiera convertir números en letras, como por ejemplo 112,20€ = ciento doce euros y veinte céntimos. He probado varios módulos, pero no funcionan en Excel 2016. ¿Tienes alguna idea?
Configuración: Windows / Firefox 55.0
Tengo Excel 2016 y quisiera convertir números en letras, como por ejemplo 112,20€ = ciento doce euros y veinte céntimos. He probado varios módulos, pero no funcionan en Excel 2016. ¿Tienes alguna idea?
Configuración: Windows / Firefox 55.0
4 réponses
Hola
Intenta copiar esta macro en tu archivo (en Visual Basic). Luego, dentro de tu archivo, copia la fórmula "=chiffrelettre(referencia de la celda de número).
Yo utilizo esta función y funciona. Si necesitas, envíame un archivo.
Buena suerte
Intenta copiar esta macro en tu archivo (en Visual Basic). Luego, dentro de tu archivo, copia la fórmula "=chiffrelettre(referencia de la celda de número).
Yo utilizo esta función y funciona. Si necesitas, envíame un archivo.
Buena suerte
Function chiffrelettre(chiffre) ' Youky Dim a As Variant, gros As Variant a = 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", "treinta", "treinta y uno", _ "treinta y dos", "treinta y tres", "treinta y cuatro", "treinta y cinco", "treinta y seis", "treinta y siete", _ "treinta y ocho", "treinta y nueve", "cuarenta", "cuarenta y uno", "cuarenta y dos", "cuarenta y tres", _ "cuarenta y cuatro", "cuarenta y cinco", "cuarenta y seis", "cuarenta y siete", "cuarenta y ocho", _ "cuarenta y nueve", "cincuenta", "cincuenta y uno", "cincuenta y dos", "cincuenta y tres", _ "cincuenta y cuatro", "cincuenta y cinco", "cincuenta y seis", "cincuenta y siete", "cincuenta y ocho", _ "cincuenta y nueve", "sesenta", "sesenta y uno", "sesenta y dos", "sesenta y tres", _ "sesenta y cuatro", "sesenta y cinco", "sesenta y seis", "sesenta y siete", "sesenta y ocho", _ "sesenta y nueve", "sesenta", "sesenta y diez", "sesenta y once", "sesenta y doce", _ "sesenta y trece", "sesenta y catorce", "sesenta y quince", "sesenta y dieciséis", _ "sesenta y diecisiete", "sesenta y dieciocho", "sesenta y diecinueve", "ochenta", "ochenta y uno", _ "ochenta y dos", "ochenta y tres", "ochenta y cuatro", "ochenta y cinco", _ "ochenta y seis", "ochenta y siete", "ochenta y ocho", "ochenta y nueve", _ "ochenta y diez", "ochenta y once", "ochenta y doce", "ochenta y trece", _ "ochenta y catorce", "ochenta y quince", "ochenta y dieciséis", "ochenta y diecisiete", _ "ochenta y dieciocho", "ochenta y diecinueve") gros = Array("", "billones", "mil millones", "millones", "mil", "euros", "billón", _ "mil millones", "millón", "mil", "euro") sp = Space(1) chaine = "00000000000000" centime = chiffre * 100 - (Int(chiffre) * 100) chiffre = Str(Int(chiffre)): lg = Len(chiffre) - 1: chiffre = Right(chiffre, lg): lg = Len(chiffre) If lg < 15 Then chaine = Mid(chaine, 1, (15 - lg)) Else chaine = "" chiffre = chaine + chiffre 'billones a las centenas gp = 1 For k = 1 To 5 x = Mid(chiffre, gp, 1): c = a(Val(x)) x = Mid(chiffre, gp + 1, 2): d = a(Val(x)) If k = 5 Then If t2 <> "" And c & d = "" Then mydz = "euros" & sp: GoTo fin If t <> "" And c = "" And d = "uno" Then mydz = "un euro" & sp: GoTo fin If t <> "" And t2 = "" And c & d = "" Then mydz = "de euros" & sp: GoTo fin If t & c & d = "" Then myct = "": mydz = "": GoTo fin End If If c & d = "" Then GoTo fin If d = "" And c <> "" And c <> "uno" Then mydz = c & sp & "centavos " & gros(k) & sp: GoTo fin If d = "" And c = "uno" Then mydz = "centavo " & gros(k) & sp: GoTo fin If d = "uno" And c = "" Then myct = IIf(k = 4, gros(k) & sp, "un " & gros(k + 5) & sp): GoTo fin If d <> "" And c = "uno" Then mydz = "cent" & sp If d <> "" And c <> "" And c <> "uno" Then mydz = c & sp & "cent" + sp myct = d & sp & gros(k) & sp fin: t2 = mydz & myct t = t & mydz & myct mydz = "": myct = "" gp = gp + 3 Next d = a(centime) If t <> "" Then myct = IIf(centime = 1, " centavo", " centavos") If t = "" Then myct = IIf(centime = 1, " centavo de euro", " centavos de euro") If centime = 0 Then d = "": myct = "" chiffrelettre = t & d & myct End Function
LBO
Super !!! ¡Funciona para mí en EXCEL 2016! Pero, ¿cómo modificar el código para conversión sin símbolo monetario o cambiar el símbolo del euro por el franco CFA?
taoufiq73
Mensajes publicados
1
Estado
Membre
Está bien, muchas gracias.