hola!!
como puedo convertir cantidades en numero a cantidades con letra ejemplo: cien pesos 00/100 m.n.
Esto en Excel.
Agradezco cualkier tipo de Informacion...gracias.
Entra en esta pagina; tenes las instrucciones y un archivo que debes importar al excel. Es muy sencillo.
http://new.taringa.net/posts/downloads/925898/Exce...
Aparecen tres links para bajar el archivo, elegi cualquiera.
Te vas a Macro, Herramientas, Editor de Visual Basic
En el Editor, seleccionas Insertar, Modulo
En la ventana pegas el siguiente codigo(sin el numero inicial, ni los puntos)
1. '------------ INICIO DE LA FUNCION PESOS-----------------------------------
2.
3. 'Function Pesos(Number As Single) As String
4. 'Comentado el 27/10/2008: La siguiente lÃnea corrige el error de los decimales
5. 'en cantidades grandes, gracias a Any por la corrección.
6.
7. Function Pesos(Number As Double) As String
8.
9. Const MinNum = 1#
10. Const MaxNum = 4294967295.99
11.
12. Dim Numbers, Tenths, Result As String
13. Numbers = Array("CERO", "UN", "DOS", "TRES", "CUATRO", "CINCO", "SEIS", "SIETE", "OCHO", "NUEVE", "DIEZ", "ONCE", "DOCE", "TRECE", "CATORCE", "QUINCE", "DIECISEIS", "DIECISIETE", "DIECIOCHO", "DIECINUEVE")
14. Tenths = Array("CERO", "DIEZ", "VEINTE", "TREINTA", "CUARENTA", "CINCUENTA", "SESENTA", "SETENTA", "OCHENTA", "NOVENTA")
15.
16. If (Number >= MinNum) And (Number <= MaxNum) Then
17. Result = RecurseNumber((Fix(Number)))
18.
19. If Round((Number - Fix(Number)) * 100) < 10 Then
20. Result = Result + " 0" + Mid(Str(Round((Number - Fix(Number)) * 100)), 2, 1) + "/100 DOLARES"
21. Else
22. Result = Result + " " + Str(Round((Number - Fix(Number)) * 100)) + "/100 DOLARES"
23. End If
24. Else
25. Result = "Error, verifique la cantidad."
26.
27. End If
28. Pesos = Result
29. End Function
30.
31. Function RecurseNumber(N As Long) As String
32.
33. Dim Numbers, Tenths
34. Numbers = Array("CERO", "UN", "DOS", "TRES", "CUATRO", "CINCO", "SEIS", "SIETE", "OCHO", "NUEVE", "DIEZ", "ONCE", "DOCE", "TRECE", "CATORCE", "QUINCE", "DIECISEIS", "DIECISIETE", "DIECIOCHO", "DIECINUEVE")
35. Tenths = Array("CERO", "DIEZ", "VEINTE", "TREINTA", "CUARENTA", "CINCUENTA", "SESENTA", "SETENTA", "OCHENTA", "NOVENTA")
36. Hundrens = Array("CERO", "CIENTO", "DOSCIENTOS", "TRESCIENTOS", "CUATROCIENTOS", "QUINIENTOS", "SEISCIENTOS", "SETECIENTOS", "OCHOCIENTOS", "NOVECIENTOS")
37.
38. Dim Result As String
39. Select Case N
40. Case 0
41. Result = ""
42. Case 1 To 19
43. Result = Numbers(N)
44. Case 20 To 99
45. If N Mod 10 <> 0 Then
46. Result = Tenths(N \ 10) + " Y " + RecurseNumber(N Mod 10)
47. Else
48. Result = Tenths(N \ 10) + " " + RecurseNumber(N Mod 10)
49. End If
50. Case 100 To 999
51. If N \ 100 = 1 Then
52. If N = 100 Then
53. Result = "CIEN" + " " + RecurseNumber(N Mod 100)
54. Else
55. Result = Hundrens(N \ 100) + " " + RecurseNumber(N Mod 100)
56. End If
57. Else
58. Result = Hundrens(N \ 100) + " " + RecurseNumber(N Mod 100)
59. End If
60. Case 1000 To 999999
61. Result = RecurseNumber(N \ 1000) + " MIL " + RecurseNumber(N Mod 1000)
62.
63. Case 1000000 To 1999999
64. Result = RecurseNumber(N \ 1000000) + " MILLON " + RecurseNumber(N Mod 1000000)
65. Case 2000000 To 999999999
66. Result = RecurseNumber(N \ 1000000) + " MILLONES " + RecurseNumber(N Mod 1000000)
67. Case 1000000000 To 4294967295#
68. Result = RecurseNumber(N \ 1000000000) + " BILLONES " + RecurseNumber(N Mod 1000000000)
69.
70. End Select
71. RecurseNumber = Result
72. End Function
73.
74. '========== FIN DE LA FUNCION PESOS ============
75. 'Para usarlo es = que una funcion de excel, ejemplo:
76.
77. '=pesos(suma(a1:a15))
78. '=pesos(total)
Guardas y cierras el Editor de VB
Despues para usarlo en una celda
=PESOS(A1)
Copyright © 2024 ANSWERS.MX - All rights reserved.
Answers & Comments
Verified answer
Entra en esta pagina; tenes las instrucciones y un archivo que debes importar al excel. Es muy sencillo.
http://new.taringa.net/posts/downloads/925898/Exce...
Aparecen tres links para bajar el archivo, elegi cualquiera.
Te vas a Macro, Herramientas, Editor de Visual Basic
En el Editor, seleccionas Insertar, Modulo
En la ventana pegas el siguiente codigo(sin el numero inicial, ni los puntos)
1. '------------ INICIO DE LA FUNCION PESOS-----------------------------------
2.
3. 'Function Pesos(Number As Single) As String
4. 'Comentado el 27/10/2008: La siguiente lÃnea corrige el error de los decimales
5. 'en cantidades grandes, gracias a Any por la corrección.
6.
7. Function Pesos(Number As Double) As String
8.
9. Const MinNum = 1#
10. Const MaxNum = 4294967295.99
11.
12. Dim Numbers, Tenths, Result As String
13. Numbers = Array("CERO", "UN", "DOS", "TRES", "CUATRO", "CINCO", "SEIS", "SIETE", "OCHO", "NUEVE", "DIEZ", "ONCE", "DOCE", "TRECE", "CATORCE", "QUINCE", "DIECISEIS", "DIECISIETE", "DIECIOCHO", "DIECINUEVE")
14. Tenths = Array("CERO", "DIEZ", "VEINTE", "TREINTA", "CUARENTA", "CINCUENTA", "SESENTA", "SETENTA", "OCHENTA", "NOVENTA")
15.
16. If (Number >= MinNum) And (Number <= MaxNum) Then
17. Result = RecurseNumber((Fix(Number)))
18.
19. If Round((Number - Fix(Number)) * 100) < 10 Then
20. Result = Result + " 0" + Mid(Str(Round((Number - Fix(Number)) * 100)), 2, 1) + "/100 DOLARES"
21. Else
22. Result = Result + " " + Str(Round((Number - Fix(Number)) * 100)) + "/100 DOLARES"
23. End If
24. Else
25. Result = "Error, verifique la cantidad."
26.
27. End If
28. Pesos = Result
29. End Function
30.
31. Function RecurseNumber(N As Long) As String
32.
33. Dim Numbers, Tenths
34. Numbers = Array("CERO", "UN", "DOS", "TRES", "CUATRO", "CINCO", "SEIS", "SIETE", "OCHO", "NUEVE", "DIEZ", "ONCE", "DOCE", "TRECE", "CATORCE", "QUINCE", "DIECISEIS", "DIECISIETE", "DIECIOCHO", "DIECINUEVE")
35. Tenths = Array("CERO", "DIEZ", "VEINTE", "TREINTA", "CUARENTA", "CINCUENTA", "SESENTA", "SETENTA", "OCHENTA", "NOVENTA")
36. Hundrens = Array("CERO", "CIENTO", "DOSCIENTOS", "TRESCIENTOS", "CUATROCIENTOS", "QUINIENTOS", "SEISCIENTOS", "SETECIENTOS", "OCHOCIENTOS", "NOVECIENTOS")
37.
38. Dim Result As String
39. Select Case N
40. Case 0
41. Result = ""
42. Case 1 To 19
43. Result = Numbers(N)
44. Case 20 To 99
45. If N Mod 10 <> 0 Then
46. Result = Tenths(N \ 10) + " Y " + RecurseNumber(N Mod 10)
47. Else
48. Result = Tenths(N \ 10) + " " + RecurseNumber(N Mod 10)
49. End If
50. Case 100 To 999
51. If N \ 100 = 1 Then
52. If N = 100 Then
53. Result = "CIEN" + " " + RecurseNumber(N Mod 100)
54. Else
55. Result = Hundrens(N \ 100) + " " + RecurseNumber(N Mod 100)
56. End If
57. Else
58. Result = Hundrens(N \ 100) + " " + RecurseNumber(N Mod 100)
59. End If
60. Case 1000 To 999999
61. Result = RecurseNumber(N \ 1000) + " MIL " + RecurseNumber(N Mod 1000)
62.
63. Case 1000000 To 1999999
64. Result = RecurseNumber(N \ 1000000) + " MILLON " + RecurseNumber(N Mod 1000000)
65. Case 2000000 To 999999999
66. Result = RecurseNumber(N \ 1000000) + " MILLONES " + RecurseNumber(N Mod 1000000)
67. Case 1000000000 To 4294967295#
68. Result = RecurseNumber(N \ 1000000000) + " BILLONES " + RecurseNumber(N Mod 1000000000)
69.
70. End Select
71. RecurseNumber = Result
72. End Function
73.
74. '========== FIN DE LA FUNCION PESOS ============
75. 'Para usarlo es = que una funcion de excel, ejemplo:
76.
77. '=pesos(suma(a1:a15))
78. '=pesos(total)
Guardas y cierras el Editor de VB
Despues para usarlo en una celda
=PESOS(A1)