Cambio de Moneda

11/10/2006 - 16:13 por INGDaniel | Informe spam
Hola amigos, estoy buscando la forma de cambiar la moneda en una misma
celda, por ejemplo en una columna quisiera colocar un valor en la
moneda local y en la misma celda me haga el cambio a $ por ejemplo
 

Leer las respuestas

#1 David
11/10/2006 - 18:28 | Informe spam
Hola, Daniel.

Si no sabes programar en VBA, una solución podría ser que en una celda
cualquiera escribieras el tipo de cambio del día, lo seleccionas y lo copias.
Luego puedes seleccionar los valores que deseas convertir, y haces clic en
"Edición" - "Pegado especial", seleccionas "Valores", también seleccionas
"Dividir" y aceptas.

Si sabes programar en VBA, y quieres una solución más automatizada, el
problema se complica, pues (al menos en mi localidad) el tipo de cambio es
muy variable. Esto haría que tuvieras que modificar constantemente el código,
lo que no sería muy agradable ni práctico. Entonces, te sugiero que crees un
archivo el cual registre el tipo de cambio del día automáticamente cuando sea
abierto. Por conveniencia, este archivo debería llevar un control histórico
de la fecha y el tipo de cambio aplicado (para cuidarte las espaldas), y
debería tener un macro que hiciera la conversión en la misma celda
seleccionada.

Aquí están los pasos que deberías seguir estrictamente:


Desde Excel:

Crea un archivo nuevo y guárdalo con el nombre Cambio.xls (no importa la
ubicación, pero no deberás moverlo ni renombrarlo en el futuro).

En la Hoja1, debe tener solamente los siguientes datos:

Celda A1: el texto "Cambio del día:"
Celda A2: El valor del cambio al día actual
Celda A3: La fecha de la última actualización

Debe tener la Hoja2 en blanco.


Luego, desde el Editor de VBA:

1.
Haces doble clic en ThisWorkbook y pegas el siguiente código:

Private Sub Workbook_Open()
Dim F As Double
With Workbooks("Cambio.xls")
If .Sheets("Hoja1").Range("A3") <> Date Then
F = InputBox(Prompt:="Cambio del día")
.Sheets("Hoja2").Cells(1, 5).Value = .Sheets("Hoja2").Cells(1,
5).Value + 1
.Sheets("Hoja2").Cells(.Sheets("Hoja2").Cells(1, 5).Value,
1).Value = .Sheets("Hoja1").Range("A3")
.Sheets("Hoja2").Cells(.Sheets("Hoja2").Cells(1, 5).Value,
2).Value = .Sheets("Hoja1").Range("A2")
.Sheets("Hoja1").Range("A3") = Date
.Sheets("Hoja1").Range("A2") = F
End If
End With
End Sub

Esto hará que cuando abras el archivo por primera vez en el día, se te
pregunte por el tipo de cambio. Luego, el valor del día anterior se guarda
en la Hoja2, y se actualiza el valor que ingresaste. En el resto del día, no
se volverá a preguntar por el tipo de cambio.

2.
Inserta un módulo y pega el siguiente código:

Sub ConvertirMoneda()
For Each celda In Selection.Cells
If IsNumeric(celda.Value) Then
celda.Value = celda.Value /
Workbooks("Cambio.xls").Sheets("Hoja1").Range("A2")
celda.NumberFormat = Chr(34) & "$" & Chr(34) & "* #,##0.00_)"
End If
Next celda
End Sub

Este código hace que a la(s) celda(s) que tengas seleccionada(s) se les
aplique la conversión de moneda y el formato monetario con signo $.

Cierras el editor de VBA y vuelves a Excel y grabas tu archivo Cambio.xls.




Por último, te sugiero crear un botón para el macro ConvertirMonedas, y si
quieres que tu archivo permanezca invisible al usuario, deberías ejecutar
Ventana - Ocultar.

Cierra tu Excel, vuelves a iniciar sesión e intenta hacer algunas
conversiones de moneda.



"INGDaniel" escribió:

Hola amigos, estoy buscando la forma de cambiar la moneda en una misma
celda, por ejemplo en una columna quisiera colocar un valor en la
moneda local y en la misma celda me haga el cambio a $ por ejemplo


Preguntas similares