Código de Access - Conversor de números a letras

<<>>
sin imagen de perfil

Conversor de números a letrasgráfica de visualizaciones


Access

Publicado el 19 de Abril del 2005 por Jorge Eduardo Gallegos Torres (3 códigos)
86.237 visualizaciones desde el 19 de Abril del 2005
Ejemplo de una macro en Access para la conversión de números a letras.

Versión 1
estrellaestrellaestrellaestrellaestrella(65)

Publicado el 19 de Abril del 2005gráfica de visualizaciones de la versión: Versión 1
86.238 visualizaciones desde el 19 de Abril del 2005
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

Si alguno de los archivos de descarga no funciona, comentanos aquí el error.




Comentarios sobre la versión: Versión 1 (65)

13 de Mayo del 2005
estrellaestrellaestrellaestrellaestrella
Es muy buen conversor, me quitó un problema de encima, además de que me ahorró un buen de trabajo... Gracias!
Responder
9 de Junio del 2005
estrellaestrellaestrellaestrellaestrella
No despliega la leyenda de pesos si no hay decimales, ojalá me pueda contactar para poder usarlo pues de lo demás funciona excelentemente bien, pero necesito que despliegue PESOS 00/100 cuando no hay centavos, gracias.
Responder
15 de Julio del 2005
estrellaestrellaestrellaestrellaestrella
la macro me parfece muy bien pero estaria aun mejor si convirtiera los decimales.
Responder
12 de Agosto del 2005
estrellaestrellaestrellaestrellaestrella
Simplemente exelente
Responder
26 de Noviembre del 2005
estrellaestrellaestrellaestrellaestrella
Es muy bueno, pero después de 15 cifras te acepta el número y el valor en letras es incorrecto. Solamente para validar tambien el dato numérico.
Responder
26 de Noviembre del 2005
estrellaestrellaestrellaestrellaestrella
Perdon, pero el error está desde los 9 digitos.
Responder
Pablo
14 de Septiembre del 2018
estrellaestrellaestrellaestrellaestrella
Si, a de los Mil Millones en adelante ya no funciona, pero se puede reparar, sirve para ejercitar.
Responder
LINCOLN
5 de Febrero del 2019
estrellaestrellaestrellaestrellaestrella
SI MI ESTIMADO COMO LO HAS SOLUCIONADO DE LOS MILLONES TENGO UNA BASE DE DATOS QUE TRABAJO CON MONTOS EN SOLES PERO A PARTIR DEL MILLON NO FUNCIONA COMO LO HAGO
Responder
30 de Noviembre del 2005
estrellaestrellaestrellaestrellaestrella
Muchas gracias, me ha sido muy util este codigo, habia conseguido otro pero no me dio resultado. Este es muy util porque pude copiarlo e instalarlo en mi base de datos y al fin obtener un excelente resultado!!!.

Muchas gracias
Responder
12 de Enero del 2006
estrellaestrellaestrellaestrellaestrella
encuentro que este codigo me puede servir mucho pero en realidad soy principiante y no tengo la menor idea como pegarlo necesito trabajar con esto en excel
gracias luis
Responder
7 de Febrero del 2006
estrellaestrellaestrellaestrellaestrella
ES PERFECTO GRACIAS, SON UNOS DIOSES
Responder
9 de Marzo del 2006
estrellaestrellaestrellaestrellaestrella
Gracias
Responder
10 de Abril del 2006
estrellaestrellaestrellaestrellaestrella
Muy buen conversor, solo hay que adaptarlo a las necesidades de cada quien, en cuestion de media hora lo he adaptado a lo que necesito, y de haberlo hecho desde el inicio seguramente me hubiera tomado varias horas, o varios dias hacerlo.
Muchas Gracias.
Responder
10 de Mayo del 2006
estrellaestrellaestrellaestrellaestrella
Es un buen código, solo hay que hacerle pequeñas modificaciones para que reconozca el MILLON y cifras sobre los 9 digitos
Responder
11 de Septiembre del 2006
estrellaestrellaestrellaestrellaestrella
hola deseo saber como se lle esta cifra 47.300.000.000.000 podras ayudarme?
Responder
Paul
14 de Marzo del 2017
estrellaestrellaestrellaestrellaestrella
47 billones 300 mil millones
Responder
10 de Octubre del 2006
estrellaestrellaestrellaestrellaestrella
Excelente codigo me va a servir bastante, ya habia hecho uno pero tenia algunos problemas, haciendole unos ajustes se acopla a cualquier formato o reporte., 1000 gracias. es muy bueno.
Responder
17 de Enero del 2007
estrellaestrellaestrellaestrellaestrella
Muy bueno, practico y sencillo, el codigo no es tan amplio y trabaja perfectamente. Gracias
Responder
17 de Febrero del 2007
estrellaestrellaestrellaestrellaestrella
Este codigo me resultó muy util y de mucha aplicacion practica en mi MDB que estaba realizando. Aunque tuve que hacerle algunas modificaciones adicionales, ya que algunas cantidades enteras no les colocaba los decimales, por ejemplo al 10 solo lo traducia a DIEZ y yo lo queria DIEZ CON 00/100, pero luego de modificarlo quedó muy bien. muchas gracias.
Responder
16 de Mayo del 2007
estrellaestrellaestrellaestrellaestrella
con unas modificaciones funciona perfectamente debido a que tiene un pequeño problemamita que corregir....
Responder
13 de Julio del 2007
estrellaestrellaestrellaestrellaestrella
Muy bueno, estaría completo si se depuraran algunos bugs como los de las cifras por encima de los 9 dígitos y los decimales en cifras enteras, ya depure lo ultimo pero aun me falta el millon y las cifras sobre los 9 digitos. Gracias.
Responder
3 de Agosto del 2007
estrellaestrellaestrellaestrellaestrella
perfecto solo calcule lo que necesitaba y listo funciono a la perfeccion, excelente.
Responder
21 de Septiembre del 2007
estrellaestrellaestrellaestrellaestrella
Excelente
Responder
26 de Enero del 2008
estrellaestrellaestrellaestrellaestrella
EXCELNTE CONVERSOR, NO ES UN PROBLEMA YA QUE CIFRAS POR ENCIMA DE LOS NUEVE DIGITOS EN FACTURACION SALVO SEA UNA MEGA EMPRESA POR LO GENERAL NO SON TAN UTILIZADO, ASI MISMO EL PEQUEÑISIMO DETALLA DE LAS CIFRAS ENTERAS ES REALMENTE MUY SENCILLO DE SOLUCIONAR UNICAMENTE SE LE PONE 00/100 M.N. EN LAS DOS LINEAS CORRESPONDIENTES Y LISTO
JORGE EXCELENTE TRABAJO Y MUCHAS GRACIS POR AYUDARNOS DE ESTA MANERA

SLUDOS
Responder
21 de Febrero del 2008
estrellaestrellaestrellaestrellaestrella
Hola que tal el codigo funciona de maravilla solo que hay un inconveniente qu eno muestra: 00/100 M.N. alguien sabra que es lo que tenggo que modificar para que me muestre eso. Gracias
Responder
18 de Marzo del 2008
estrellaestrellaestrellaestrellaestrella
Muy bueno , para los que se manejan en base de datos,está excelente
Responder
7 de Mayo del 2008
estrellaestrellaestrellaestrellaestrella
Esta muy bien tu función de conversión, y al respecto tengo una pregunta. En la BD de ejemplo que nos mandas. El resultado de la función no se guarda en el campo de la Tabla, como podría hacer que dicho texto en letra se grabase en la tabla para que sea utilizado por otras aplicaciones?

Gracias por su atención.
Responder
22 de Agosto del 2008
estrellaestrellaestrellaestrellaestrella
Muy buen codigo, no sabes cuanto te agradezco pues me ahorraste horas de codificacion y para ser sincero me habria tardado mucho.

Solo una observacion le agregue la siguiente linea para que aunque fueran ".00", pusiera la palabra pesos ademas del 00/100MN
& " PESOS " & Trim(Decimales) & "/100 M.N."
Responder
Imágen de perfil
22 de Diciembre del 2016
estrellaestrellaestrellaestrellaestrella
Hola soy nuevo y vi que lograste resolver el tema añadir al final de las cantidades colocar PEOS 00/100M.N. me podrías enseñar como hacerlo
Responder
Imágen de perfil
28 de Agosto del 2008
estrellaestrellaestrellaestrellaestrella
Hola Jorge.

Me ayudo muchisimo tu codigo, lo importantisimo de ti es que desprenistes algo valioso para todos nosotros que de una u otra forma teniamos problemas en este caso, tengo 10 años de programar el codigo de conversion de numeros a letras lo habi desarrollado amplio y engorroso, sin embargo con tu ayuda se acabo mi problema, por lo tanto te agradezco y felicito. Eres ejemplo para nosotros los egoistas.
Responder
30 de Octubre del 2008
estrellaestrellaestrellaestrellaestrella
Esta excelente, solo una problema, alguien sabe que cambios se le puede hacer, para que aun siendo los decimales 00, te despliegue la palabra pesos y 00/100 M.N.
Responder
18 de Diciembre del 2008
estrellaestrellaestrellaestrellaestrella
Excelente, muchisimas gracias.
Responder
29 de Mayo del 2009
estrellaestrellaestrellaestrellaestrella
Ha realizado una valoración positiva de este curso.
Responder
25 de Julio del 2009
estrellaestrellaestrellaestrellaestrella
Gracias, me fue de mucha utilidad ;)
Responder
26 de Agosto del 2009
estrellaestrellaestrellaestrellaestrella
Esta mas que bien el codigo
Responder
31 de Agosto del 2009
estrellaestrellaestrellaestrellaestrella
La verdad muy útil lo voy probar en el proyecto que tengo, si todo sale bien publicare el proyecto como un código fuente para la comunidad.
Gracias a todos los programadores que ayudan a esta página a ser que la web tenga sentido.
Jp
Responder
26 de Febrero del 2010
estrellaestrellaestrellaestrellaestrella
Excelente programa, justo lo que buscaba, gracias
Responder
24 de Marzo del 2010
estrellaestrellaestrellaestrellaestrella
Muchas gracias, tarde mucho tiempo en encontrar algo que realmente me sirviera.
Responder
26 de Agosto del 2010
estrellaestrellaestrellaestrellaestrella
Muy buen codigo excelente no soy experto y me sirvio muchisimo solo una cosa no me ponia el sufijo pesos 00/100 M.N. eso lo corregi simplemente copiando la expresion < & " PESOS " & Trim(Decimales) & "/100 M.N."> al final d la linea 56 despues de <letra = Trim(Cadena)> y problema resuelto y segundo me ponia en decenas cuando terminaba en "1" por ejemplo "21" veintiuno como trae el sufijo pesos deberia ser veintiun eso lo corregi en la linea 179 y quitandole la "O" al texto "uno" y por ultimo un error que no pude corregir bueno no le busque porq en realidad no me lo utilizo es q cuando pones el numero 1 no manda texto pero bueno no se si alguien ocupe el numero 1 solo para algo funcional en mi caso no aplica asi que ps no busque como corregir al que lo hizo muchas felicidades esta de 10
Responder
13 de Noviembre del 2010
estrellaestrellaestrellaestrellaestrella
excelente codigo y facil con el ejemplo, samuel muchas gracias por las correcciones.
saludos
Responder
13 de Noviembre del 2010
estrellaestrellaestrellaestrellaestrella
solo una pregunta, como le haria para que el texto aparezca entre parentesis? ya logre ponerle el de cierre, osea: 00/100 M.N.) pero como indico el inicial ( un mil ...
gracias
saludos
Responder
9 de Enero del 2011
estrellaestrellaestrellaestrellaestrella
Gracias mil por tu aportacion Eduardo me fue de gran ayuda, que tengas un buen año!!!
Responder
9 de Enero del 2011
estrellaestrellaestrellaestrellaestrella
Samuel, gracias tambien por las correcciones, que tengas tambien un buen año!!!
Responder
14 de Enero del 2011
estrellaestrellaestrellaestrellaestrella
Exelente!!! Me solucionó un tema vital para mi programa de facturación.

Gracias!!!!!!
Responder
13 de Febrero del 2011
estrellaestrellaestrellaestrellaestrella
Gracias.
Responder
15 de Marzo del 2011
estrellaestrellaestrellaestrellaestrella
Muchas gracias EXELENTE TRABAJO
Responder
26 de Abril del 2011
estrellaestrellaestrellaestrellaestrella
Muy bueno, lo(s) felicito
Responder
29 de Abril del 2011
estrellaestrellaestrellaestrellaestrella
Muy Bueno , lo felicito, siga adelante
Responder
28 de Septiembre del 2011
estrellaestrellaestrellaestrellaestrella
excelente, muchas gracias por este convertidor, estoy aprendiendo y este codido me ayudara mucho
Responder
17 de Octubre del 2011
estrellaestrellaestrellaestrellaestrella
Excelente, muy bueno, me saco de apuros en un control de cuentas bancarias que he diseñado, muchas gracias.
Responder
7 de Diciembre del 2011
estrellaestrellaestrellaestrellaestrella
muy bueno
Responder
16 de Marzo del 2012
estrellaestrellaestrellaestrellaestrella
muchas gracias de todo corazón por el código yo no se mucho de programación pero con su aportación me permite ver una luz en el camino.
Gracias de verdad
Responder
5 de Julio del 2013
estrellaestrellaestrellaestrellaestrella
solo una pregunta, como le haria para que el texto aparezca entre parentesis? ya logre ponerle el de cierre, osea: 00/100 M.N.) pero como indico el inicial ( un mil ...
gracias
saludos
Responder
Carlos Mendez
10 de Marzo del 2015
estrellaestrellaestrellaestrellaestrella
Gracias por compartir me fue muy utili
Responder
miguel hernandez
6 de Junio del 2015
estrellaestrellaestrellaestrellaestrella
Estimado Jorge Eduardo Gallegos Torres, buscando en la web di con su video en YouTube de coversión de numero a letra y me interesó el código utilizado en access, ya lo utilice y me parece muy bueno, solo que; muy bien me convierte a letra la moneda con decimales agregando los centavos entre 100 M.N., pero cuando se trata de números enteros donde debe ser .00/100 esto no me lo agrega en la conversión, solo lo hace cuando si hay centavos.

Podría usted ayudarme y decirme como completar esa parte del código en el módulo? de antemano muchas gracias por su aportación. Saludos.
Responder
14 de Enero del 2016
estrellaestrellaestrellaestrellaestrella
Gracias por el aporte, esta de 10
Responder
paco
6 de Febrero del 2016
estrellaestrellaestrellaestrellaestrella
alguien tiene el codigo de convertir una cantidad numérica a letras en lenguaje Inglés.
Responder
CARLOS AALBA
16 de Septiembre del 2016
estrellaestrellaestrellaestrellaestrella
muy bueno ..
y respecto de los errores .. alguien ya logro hacer las modificaciones .. ? me lo podría enviar a mi correo ..
Responder
Imágen de perfil
22 de Diciembre del 2016
estrellaestrellaestrellaestrellaestrella
Hola todos soy nuevo estoy haciendo una BD para mi trabajo alguien me podría enseñar a modificar el código para que aparezca PESOS 00/100 M.N.
Responder
Dennis Mejia
2 de Julio del 2017
estrellaestrellaestrellaestrellaestrella
Muy buen aporte hermano, te envio el codigo corregido porque tenia problemas con algunos montos:


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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
Option Compare Database
 
 
Function letra(Numero)
 
Dim Texto
Dim Millones
Dim Miles
Dim Cientos
Dim Decimales
Dim Cadena
Dim CadMillones
Dim CadMiles
Dim CadCientos
Dim caddecimales
 
 
Texto = Round(Numero, 2)
Texto = FormatNumber(Texto, 2)
Texto = Right(Space(14) & Texto, 14)
Millones = Mid(Texto, 1, 3)
Miles = Mid(Texto, 5, 3)
Cientos = Mid(Texto, 9, 3)
Decimales = Mid(Texto, 13, 2)
 
 
CadMillones = ConvierteCifra(Millones, False)
CadMiles = ConvierteCifra(Miles, False)
CadCientos = ConvierteCifra(Cientos, True)
'caddecimales = ConvierteDecimal(Decimales)
 
 
If Trim(CadMillones) <> "" Then
 
    If Trim(CadMillones) = "UN" Then
    Cadena = CadMillones & " MILLON"
 
    Else
    Cadena = CadMillones & " MILLONES"
 
    End If
 
End If
 
 
If Trim(CadMiles) <> "" Then
 
    If Trim(CadMiles) = "UN" Then
    Cadena = Cadena & " MIL"
 
    Else
    Cadena = Cadena & " " & CadMiles & " MIL"
 
    End If
 
End If
 
 
Cadena = Trim(Cadena & " " & CadCientos & " ") & " PESOS CON " & Decimales & "/100"
letra = Trim(Cadena)
 
 
'If Trim(CadMiles) > "001" Then
'CadMiles = "MIL"
 
'End If
 
 
'If Decimales = "00" Then
 
    'If Trim(CadMillones & CadMiles & CadCientos & caddecimales) = "UN" Then
    'Cadena = Cadena & "UNO "
 
    'Else
 
        'If Miles & Cientos = "000000" Then
        'Cadena = Cadena & " " & Trim(CadCientos)
 
        'Else
        'Cadena = Cadena & " " & Trim(CadCientos)
 
        'End If
 
    'letra = Trim(Cadena)
 
    'End If
 
'Else
 
    'If Trim(CadMillones & CadMiles & CadCientos & caddecimales) = "UN" Then
    'Cadena = Cadena & "UNO " & "CON " & Trim(caddecimales)
 
    'Else
 
        'If Millones & Miles & Cientos & Decimales = "000000" Then
        'Cadena = Cadena & " " & Trim(CadCientos) & " PESOS CON " & Trim(Decimales) & "/100"
 
        'Else
        'Cadena = Cadena & " " & Trim(CadCientos) & " PESOS CON " & Trim(Decimales) & "/100"
 
        'End If
 
    'letra = Trim(Cadena)
 
    'End If
 
'End If
 
 
End Function
 
 
Function ConvierteCifra(Texto, IsCientos As Boolean)
 
 
If Texto <> "000" Then
 
 
    Dim Centena
    Dim Decena
    Dim Unidad
    Dim txtCentena
    Dim txtDecena
    Dim txtUnidad
    Centena = Mid(Texto, 1, 1)
    Decena = Mid(Texto, 2, 1)
    Unidad = Mid(Texto, 3, 1)
 
 
    Select Case Centena
 
    Case "1"
    txtCentena = "CIEN"
 
        If Decena & Unidad <> "00" Then
        txtCentena = "CIENTO"
 
        End If
 
    Case "2"
    txtCentena = "DOSCIENTOS"
 
    Case "3"
    txtCentena = "TRESCIENTOS"
 
    Case "4"
    txtCentena = "CUATROCIENTOS"
 
    Case "5"
    txtCentena = "QUINIENTOS"
 
    Case "6"
    txtCentena = "SEISCIENTOS"
 
    Case "7"
    txtCentena = "SETECIENTOS"
 
    Case "8"
    txtCentena = "OCHOCIENTOS"
 
    Case "9"
    txtCentena = "NOVECIENTOS"
 
    End Select
 
 
    Select Case Decena
 
    Case "1"
    txtDecena = "DIEZ"
 
        Select Case Unidad
 
        Case "1"
        txtDecena = "ONCE"
 
        Case "2"
        txtDecena = "DOCE"
 
        Case "3"
        txtDecena = "TRECE"
 
        Case "4"
        txtDecena = "CATORCE"
 
        Case "5"
        txtDecena = "QUINCE"
 
        Case "6"
        txtDecena = "DIECISEIS"
 
        Case "7"
        txtDecena = "DIECISIETE"
 
        Case "8"
        txtDecena = "DIECIOCHO"
 
        Case "9"
        txtDecena = "DIECINUEVE"
 
        End Select
 
    Case "2"
    txtDecena = "VEINTE"
 
        If Unidad <> "0" Then
        txtDecena = "VEINTI"
 
        End If
 
    Case "3"
    txtDecena = "TREINTA"
 
        If Unidad <> "0" Then
        txtDecena = "TREINTA Y "
 
        End If
 
    Case "4"
    txtDecena = "CUARENTA"
 
        If Unidad <> "0" Then
        txtDecena = "CUARENTA Y "
 
        End If
 
    Case "5"
    txtDecena = "CINCUENTA"
 
        If Unidad <> "0" Then
        txtDecena = "CINCUENTA Y "
 
        End If
 
    Case "6"
    txtDecena = "SESENTA"
 
        If Unidad <> "0" Then
        txtDecena = "SESENTA Y "
 
        End If
 
    Case "7"
    txtDecena = "SETENTA"
 
        If Unidad <> "0" Then
        txtDecena = "SETENTA Y "
 
        End If
 
    Case "8"
    txtDecena = "OCHENTA"
 
        If Unidad <> "0" Then
        txtDecena = "OCHENTA Y "
 
        End If
 
    Case "9"
    txtDecena = "NOVENTA"
 
        If Unidad <> "0" Then
        txtDecena = "NOVENTA Y "
 
        End If
 
    End Select
 
 
    If Decena <> "1" Then
 
        Select Case Unidad
 
        Case "1"
 
            If IsCientos = False Then
            txtUnidad = "UN"
 
            Else
            txtUnidad = "UNO"
 
            End If
 
        Case "2"
        txtUnidad = "DOS"
 
        Case "3"
        txtUnidad = "TRES"
 
        Case "4"
        txtUnidad = "CUATRO"
 
        Case "5"
        txtUnidad = "CINCO"
 
        Case "6"
        txtUnidad = "SEIS"
 
        Case "7"
        txtUnidad = "SIETE"
 
        Case "8"
        txtUnidad = "OCHO"
 
        Case "9"
        txtUnidad = "NUEVE"
 
        End Select
 
    End If
 
 
    ConvierteCifra = Trim(txtCentena & " " & txtDecena & txtUnidad)
 
Else
ConvierteCifra = ""
 
End If
 
 
End Function
 
 
Function ConvierteDecimal(Texto)
 
 
If Texto <> "00" Then
 
 
    Dim Decenadecimal
    Dim Unidaddecimal
    Dim txtDecenadecimal
    Dim txtUnidaddecimal
    Decenadecimal = Mid(Texto, 1, 1)
    Unidaddecimal = Mid(Texto, 2, 1)
 
 
    Select Case Decenadecimal
 
    Case "1"
    txtDecenadecimal = "DIEZ"
 
        Select Case Unidaddecimal
 
        Case "1"
        txtDecenadecimal = "ONCE"
 
        Case "2"
        txtDecenadecimal = "DOCE"
 
        Case "3"
        txtDecenadecimal = "TRECE"
 
        Case "4"
        txtDecenadecimal = "CATORCE"
 
        Case "5"
        txtDecenadecimal = "QUINCE"
 
        Case "6"
        txtDecenadecimal = "DIECISEIS"
 
        Case "7"
        txtDecenadecimal = "DIECISIETE"
 
        Case "8"
        txtDecenadecimal = "DIECIOCHO"
 
        Case "9"
        txtDecenadecimal = "DIECINUEVE"
 
        End Select
 
    Case "2"
    txtDecenadecimal = "VEINTE"
 
        If Unidaddecimal <> "0" Then
        txtDecenadecimal = "VEINTI"
 
        End If
 
    Case "3"
    txtDecenadecimal = "TREINTA"
 
        If Unidaddecimal <> "0" Then
        txtDecenadecimal = "TREINTA Y "
 
        End If
 
    Case "4"
    txtDecenadecimal = "CUARENTA"
 
        If Unidaddecimal <> "0" Then
        txtDecenadecimal = "CUARENTA Y "
 
        End If
 
    Case "5"
    txtDecenadecimal = "CINCUENTA"
 
        If Unidaddecimal <> "0" Then
        txtDecenadecimal = "CINCUENTA Y "
 
        End If
 
    Case "6"
    txtDecenadecimal = "SESENTA"
 
        If Unidaddecimal <> "0" Then
        txtDecenadecimal = "SESENTA Y "
 
        End If
 
    Case "7"
    txtDecenadecimal = "SETENTA"
 
        If Unidaddecimal <> "0" Then
        txtDecenadecimal = "SETENTA Y "
 
        End If
 
    Case "8"
    txtDecenadecimal = "OCHENTA"
 
        If Unidaddecimal <> "0" Then
        txtDecenadecimal = "OCHENTA Y "
 
        End If
 
    Case "9"
    txtDecenadecimal = "NOVENTA"
 
        If Unidaddecimal <> "0" Then
        txtDecenadecimal = "NOVENTA Y "
 
        End If
 
    End Select
 
 
    If Decenadecimal <> "1" Then
 
        Select Case Unidaddecimal
 
        Case "1"
        txtUnidaddecimal = "UNO"
 
        Case "2"
        txtUnidaddecimal = "DOS"
 
        Case "3"
        txtUnidaddecimal = "TRES"
 
        Case "4"
        txtUnidaddecimal = "CUATRO"
 
        Case "5"
        txtUnidaddecimal = "CINCO"
 
        Case "6"
        txtUnidaddecimal = "SEIS"
 
        Case "7"
        txtUnidaddecimal = "SIETE"
 
        Case "8"
        txtUnidaddecimal = "OCHO"
 
        Case "9"
        txtUnidaddecimal = "NUEVE"
 
        End Select
 
    End If
 
 
    ConvierteDecimal = txtDecenadecimal & txtUnidaddecimal
 
 
Else
ConvierteDecimal = "00"
 
End If
 
 
End Function
Responder
ORC
11 de Julio del 2017
estrellaestrellaestrellaestrellaestrella
Gracias... Me ahorro bastante tiempo. la modificacion del codigo es facil.
Responder
Paco Sanchez
12 de Octubre del 2017
estrellaestrellaestrellaestrellaestrella
Me parece excelente. Pero necesito que convierta el texto con euros, en lugar de pesos.
Puede ser tan amable de remitirmelo al correo o ponerlo en este enlace.

Muchas gracias.
Responder
ESTIBALIZ
4 de Octubre del 2018
estrellaestrellaestrellaestrellaestrella
Buenos días. Necesito crear un módulo donde me diga, si yo le pongo 24,36 € me lo traduzca a "veinticuatro euros con treinta y seis céntimos". No hago más que mirar por internet y sólo encuentro módulos en pesos y sin decimales. ¿Alguien puede ayudarme? Muchísimas gracias.
Responder
Roberto Balán
23 de Noviembre del 2018
estrellaestrellaestrellaestrellaestrella
CORREGIDO CON LA FRASE "M. N."

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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
Option Compare Database
 
Function letra(Numero)
 
Dim Texto
Dim Millones
Dim Miles
Dim Cientos
Dim Decimales
Dim Cadena
Dim CadMillones
Dim CadMiles
Dim CadCientos
Dim caddecimales
 
 
Texto = Round(Numero, 2)
Texto = FormatNumber(Texto, 2)
Texto = Right(Space(14) & Texto, 14)
Millones = Mid(Texto, 1, 3)
Miles = Mid(Texto, 5, 3)
Cientos = Mid(Texto, 9, 3)
Decimales = Mid(Texto, 13, 2)
 
 
CadMillones = ConvierteCifra(Millones, False)
CadMiles = ConvierteCifra(Miles, False)
CadCientos = ConvierteCifra(Cientos, True)
'caddecimales = ConvierteDecimal(Decimales)
 
 
If Trim(CadMillones) <> "" Then
 
If Trim(CadMillones) = "UN" Then
Cadena = CadMillones & " MILLON"
 
Else
Cadena = CadMillones & " MILLONES"
 
End If
 
End If
 
 
If Trim(CadMiles) <> "" Then
 
If Trim(CadMiles) = "UN" Then
Cadena = Cadena & " MIL"
 
Else
Cadena = Cadena & " " & CadMiles & " MIL"
 
End If
 
End If
 
 
Cadena = Trim(Cadena & " " & CadCientos & " ") & " PESOS CON " & Decimales & "/100" & " M. N. "
letra = Trim(Cadena)
 
 
'If Trim(CadMiles) > "001" Then
'CadMiles = "MIL"
 
'End If
 
 
'If Decimales = "00" Then
 
'If Trim(CadMillones & CadMiles & CadCientos & caddecimales) = "UN" Then
'Cadena = Cadena & "UNO "
 
'Else
 
'If Miles & Cientos = "000000" Then
'Cadena = Cadena & " " & Trim(CadCientos)
 
'Else
'Cadena = Cadena & " " & Trim(CadCientos)
 
'End If
 
'letra = Trim(Cadena)
 
'End If
 
'Else
 
'If Trim(CadMillones & CadMiles & CadCientos & caddecimales) = "UN" Then
'Cadena = Cadena & "UNO " & "CON " & Trim(caddecimales)
 
'Else
 
'If Millones & Miles & Cientos & Decimales = "000000" Then
'Cadena = Cadena & " " & Trim(CadCientos) & " PESOS CON " & Trim(Decimales) & "/100" & " M. N. "
 
'Else
'Cadena = Cadena & " " & Trim(CadCientos) & " PESOS CON " & Trim(Decimales) & "/100" & " M. N. "
 
'End If
 
'letra = Trim(Cadena)
 
'End If
 
'End If
 
 
End Function
 
 
Function ConvierteCifra(Texto, IsCientos As Boolean)
 
 
If Texto <> "000" Then
 
 
Dim Centena
Dim Decena
Dim Unidad
Dim txtCentena
Dim txtDecena
Dim txtUnidad
Centena = Mid(Texto, 1, 1)
Decena = Mid(Texto, 2, 1)
Unidad = Mid(Texto, 3, 1)
 
 
Select Case Centena
 
Case "1"
txtCentena = "CIEN"
 
If Decena & Unidad <> "00" Then
txtCentena = "CIENTO"
 
End If
 
Case "2"
txtCentena = "DOSCIENTOS"
 
Case "3"
txtCentena = "TRESCIENTOS"
 
Case "4"
txtCentena = "CUATROCIENTOS"
 
Case "5"
txtCentena = "QUINIENTOS"
 
Case "6"
txtCentena = "SEISCIENTOS"
 
Case "7"
txtCentena = "SETECIENTOS"
 
Case "8"
txtCentena = "OCHOCIENTOS"
 
Case "9"
txtCentena = "NOVECIENTOS"
 
End Select
 
 
Select Case Decena
 
Case "1"
txtDecena = "DIEZ"
 
Select Case Unidad
 
Case "1"
txtDecena = "ONCE"
 
Case "2"
txtDecena = "DOCE"
 
Case "3"
txtDecena = "TRECE"
 
Case "4"
txtDecena = "CATORCE"
 
Case "5"
txtDecena = "QUINCE"
 
Case "6"
txtDecena = "DIECISEIS"
 
Case "7"
txtDecena = "DIECISIETE"
 
Case "8"
txtDecena = "DIECIOCHO"
 
Case "9"
txtDecena = "DIECINUEVE"
 
End Select
 
Case "2"
txtDecena = "VEINTE"
 
If Unidad <> "0" Then
txtDecena = "VEINTI"
 
End If
 
Case "3"
txtDecena = "TREINTA"
 
If Unidad <> "0" Then
txtDecena = "TREINTA Y "
 
End If
 
Case "4"
txtDecena = "CUARENTA"
 
If Unidad <> "0" Then
txtDecena = "CUARENTA Y "
 
End If
 
Case "5"
txtDecena = "CINCUENTA"
 
If Unidad <> "0" Then
txtDecena = "CINCUENTA Y "
 
End If
 
Case "6"
txtDecena = "SESENTA"
 
If Unidad <> "0" Then
txtDecena = "SESENTA Y "
 
End If
 
Case "7"
txtDecena = "SETENTA"
 
If Unidad <> "0" Then
txtDecena = "SETENTA Y "
 
End If
 
Case "8"
txtDecena = "OCHENTA"
 
If Unidad <> "0" Then
txtDecena = "OCHENTA Y "
 
End If
 
Case "9"
txtDecena = "NOVENTA"
 
If Unidad <> "0" Then
txtDecena = "NOVENTA Y "
 
End If
 
End Select
 
 
If Decena <> "1" Then
 
Select Case Unidad
 
Case "1"
 
If IsCientos = False Then
txtUnidad = "UN"
 
Else
txtUnidad = "UNO"
 
End If
 
Case "2"
txtUnidad = "DOS"
 
Case "3"
txtUnidad = "TRES"
 
Case "4"
txtUnidad = "CUATRO"
 
Case "5"
txtUnidad = "CINCO"
 
Case "6"
txtUnidad = "SEIS"
 
Case "7"
txtUnidad = "SIETE"
 
Case "8"
txtUnidad = "OCHO"
 
Case "9"
txtUnidad = "NUEVE"
 
End Select
 
End If
 
 
ConvierteCifra = Trim(txtCentena & " " & txtDecena & txtUnidad)
 
Else
ConvierteCifra = ""
 
End If
 
 
End Function
 
 
Function ConvierteDecimal(Texto)
 
 
If Texto <> "00" Then
 
 
Dim Decenadecimal
Dim Unidaddecimal
Dim txtDecenadecimal
Dim txtUnidaddecimal
Decenadecimal = Mid(Texto, 1, 1)
Unidaddecimal = Mid(Texto, 2, 1)
 
 
Select Case Decenadecimal
 
Case "1"
txtDecenadecimal = "DIEZ"
 
Select Case Unidaddecimal
 
Case "1"
txtDecenadecimal = "ONCE"
 
Case "2"
txtDecenadecimal = "DOCE"
 
Case "3"
txtDecenadecimal = "TRECE"
 
Case "4"
txtDecenadecimal = "CATORCE"
 
Case "5"
txtDecenadecimal = "QUINCE"
 
Case "6"
txtDecenadecimal = "DIECISEIS"
 
Case "7"
txtDecenadecimal = "DIECISIETE"
 
Case "8"
txtDecenadecimal = "DIECIOCHO"
 
Case "9"
txtDecenadecimal = "DIECINUEVE"
 
End Select
 
Case "2"
txtDecenadecimal = "VEINTE"
 
If Unidaddecimal <> "0" Then
txtDecenadecimal = "VEINTI"
 
End If
 
Case "3"
txtDecenadecimal = "TREINTA"
 
If Unidaddecimal <> "0" Then
txtDecenadecimal = "TREINTA Y "
 
End If
 
Case "4"
txtDecenadecimal = "CUARENTA"
 
If Unidaddecimal <> "0" Then
txtDecenadecimal = "CUARENTA Y "
 
End If
 
Case "5"
txtDecenadecimal = "CINCUENTA"
 
If Unidaddecimal <> "0" Then
txtDecenadecimal = "CINCUENTA Y "
 
End If
 
Case "6"
txtDecenadecimal = "SESENTA"
 
If Unidaddecimal <> "0" Then
txtDecenadecimal = "SESENTA Y "
 
End If
 
Case "7"
txtDecenadecimal = "SETENTA"
 
If Unidaddecimal <> "0" Then
txtDecenadecimal = "SETENTA Y "
 
End If
 
Case "8"
txtDecenadecimal = "OCHENTA"
 
If Unidaddecimal <> "0" Then
txtDecenadecimal = "OCHENTA Y "
 
End If
 
Case "9"
txtDecenadecimal = "NOVENTA"
 
If Unidaddecimal <> "0" Then
txtDecenadecimal = "NOVENTA Y "
 
End If
 
End Select
 
 
If Decenadecimal <> "1" Then
 
Select Case Unidaddecimal
 
Case "1"
txtUnidaddecimal = "UNO"
 
Case "2"
txtUnidaddecimal = "DOS"
 
Case "3"
txtUnidaddecimal = "TRES"
 
Case "4"
txtUnidaddecimal = "CUATRO"
 
Case "5"
txtUnidaddecimal = "CINCO"
 
Case "6"
txtUnidaddecimal = "SEIS"
 
Case "7"
txtUnidaddecimal = "SIETE"
 
Case "8"
txtUnidaddecimal = "OCHO"
 
Case "9"
txtUnidaddecimal = "NUEVE"
 
End Select
 
End If
 
 
ConvierteDecimal = txtDecenadecimal & txtUnidaddecimal
 
 
Else
ConvierteDecimal = "00"
 
End If
 
 
End Function
Responder
JUAN DE DIOS SANABRIA VILLARAOS
14 de Septiembre del 2020
estrellaestrellaestrellaestrellaestrella
antes que nada le felicito Sr. Eduardo Gallegos por esta aportación para nosotros los principiantes en codigos de este tipo, este código me va a servir para un programa de una Asociación Ganadera que tiene que imprimir varios recibos diarios, y por otro lado gracias al Sr. Samuel por mostrarme la correcciones necesarias quedo excelente gracias a ambos.
Responder

Comentar la versión: Versión 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s1168