Modificar macro de Excel, para pasar números a texto
Apreciad@ Experto@:
Espero me puedas colaborar con el siguiente problema:
Encontré en Internet hace algunos meses, una macro que me permite pasar números a texto en Excel. La macro es perfecta, o bueno, casi perfecta. La he logrado adaptar a mi manera e implementarla en gran cantidad de plantillas que uso hoy en día. Es excelente. El único problema que le encontré hace poco es que cuando escribo cifras precisas como 1000000 - 2000000 - 3000000 - 4000000 - 5000000 y así sucesivamente el resultado en letras es:
Un millón pesos m/cte.
Dos millones pesos m/cte.
¿Ves? A la macro le ha quedado faltando la palabra DE. Pues debería decir:
Un millón de pesos m/cte.
Pero sólo ocurre en esos casos, para todos los demás números la he probado y funciona perfecto.
No soy experto en macros, pero según mis modestos conocimientos, creo que he detectado el criterio dentro de la macro en donde se deberían hacer las modificaciones para que esto se arreglara. En resumidas cuentas, necesito agregarle un criterio dentro de la macro de manera tal, que cuando encuentre las cifras exactas de: - 2000000 - 3000000 - 4000000 - 5000000 me utilice la palabra DE. El criterio que creo se debería modificar es el siguiente:
Case 1 ' millones
' millones
If lngAuxNum = 1 Then
strAuxUnidad = " millón"
Else
strAuxUnidad = " millones"
End If
Resultado = Trim(cifra_3(IntUnidades, False, 1) & strAuxUnidad & " " & Resultado)
' mil millones
If IntMillares <> 0 Then
strAuxUnidad = " mil"
If IntMillares = 1 Then
Resultado = Trim(cifra_3(IntMillares, False, 0) & strAuxUnidad & " " & Resultado)
Else
Resultado = Trim(cifra_3(IntMillares, False, 1) & strAuxUnidad & " " & Resultado)
End If
End If.
Lo he intentado simplemente escribiéndole el de entre las comillas que ya están abiertas Y SIRVE. Pero entonces cuando escribo por ejemplo: 1500000 me arroja: ¿Un millón de quinientos mil pesos m/cte. ves? No es del todo la solución.
Claro que para ahorrarnos toda esta explicación si prefieres, te podría enviar el archivo a través de correo; o también pasarte la macro completa por medio de esta página.
No me sirve otra macro, pues la que ya tengo la adecué de muchas formas y me funciona para otros casos. Por ello lo que necesito es modificar la que ya tengo, no cambiarla.
Espero me puedas colaborar al respecto.
Cordial saludo, WILSON JAVIER
Espero me puedas colaborar con el siguiente problema:
Encontré en Internet hace algunos meses, una macro que me permite pasar números a texto en Excel. La macro es perfecta, o bueno, casi perfecta. La he logrado adaptar a mi manera e implementarla en gran cantidad de plantillas que uso hoy en día. Es excelente. El único problema que le encontré hace poco es que cuando escribo cifras precisas como 1000000 - 2000000 - 3000000 - 4000000 - 5000000 y así sucesivamente el resultado en letras es:
Un millón pesos m/cte.
Dos millones pesos m/cte.
¿Ves? A la macro le ha quedado faltando la palabra DE. Pues debería decir:
Un millón de pesos m/cte.
Pero sólo ocurre en esos casos, para todos los demás números la he probado y funciona perfecto.
No soy experto en macros, pero según mis modestos conocimientos, creo que he detectado el criterio dentro de la macro en donde se deberían hacer las modificaciones para que esto se arreglara. En resumidas cuentas, necesito agregarle un criterio dentro de la macro de manera tal, que cuando encuentre las cifras exactas de: - 2000000 - 3000000 - 4000000 - 5000000 me utilice la palabra DE. El criterio que creo se debería modificar es el siguiente:
Case 1 ' millones
' millones
If lngAuxNum = 1 Then
strAuxUnidad = " millón"
Else
strAuxUnidad = " millones"
End If
Resultado = Trim(cifra_3(IntUnidades, False, 1) & strAuxUnidad & " " & Resultado)
' mil millones
If IntMillares <> 0 Then
strAuxUnidad = " mil"
If IntMillares = 1 Then
Resultado = Trim(cifra_3(IntMillares, False, 0) & strAuxUnidad & " " & Resultado)
Else
Resultado = Trim(cifra_3(IntMillares, False, 1) & strAuxUnidad & " " & Resultado)
End If
End If.
Lo he intentado simplemente escribiéndole el de entre las comillas que ya están abiertas Y SIRVE. Pero entonces cuando escribo por ejemplo: 1500000 me arroja: ¿Un millón de quinientos mil pesos m/cte. ves? No es del todo la solución.
Claro que para ahorrarnos toda esta explicación si prefieres, te podría enviar el archivo a través de correo; o también pasarte la macro completa por medio de esta página.
No me sirve otra macro, pues la que ya tengo la adecué de muchas formas y me funciona para otros casos. Por ello lo que necesito es modificar la que ya tengo, no cambiarla.
Espero me puedas colaborar al respecto.
Cordial saludo, WILSON JAVIER
1 Respuesta
Respuesta de Orlando Collarte
1