Conversor de Pts a Euros en Excel

Hola:
He obtenido una macro para convertir Pts a Euros, con la única pega de que solo convierte una celda activa, y yo desearía convertir el rango que seleccionara libremente, y por pedir que se pudiera hacer un rango de diversos hojas del mismo libro.
La macro es:
Sub Euro()
valor = ActiveCell.Value / 166.386
ActiveCell.Value = valor
Selection.NumberFormat = _
"_-* #,##0.00 [$?-1]_-;-* #,##0.00 [$?-1]_-;_-* ""-""?? [$?-1]_-;_-@_-"
End Sub
Que instrucción falta para poder convertir todo el rango de celdas seleccionadas libremente por mi. En cada conversión el rango sera diferente, incluso en algunas ocasiones se tendría que poder seleccionar un rango en más de una hoja.
Muchas gracias por el interés.
mailto:[email protected]

1 Respuesta

Respuesta
1
Prueba este código, te cambia los valores de tu selección, esto lo hace solo en la hoja activa...
Public Sub Euro()
Dim Valor As Single
Dim c As Range
For Each c In Selection
Valor = c.Value / 166.386
c.Value = Valor
Next c
End Sub
Hola Valedor:
Muchas gracias por el código, en problema de convertir más de una celda activa esta muy bien resuelto, pero existen los siguientes problemas:
1.- En el importe convertido en Euros salen más de dos decimales. Lo optimo seria que salieran dos decimales, pero que internamente se respectaran todos los decimales, para que en las operaciones de calculo en las que estuvieran implicadas dichas celdas los resultados fueran todo lo precisos posibles.
2.- No sale el símbolo del Euro.
3.- Cuando el importe a convertir incluye el formato "Ptes", no desaparece dicho formato. Esta opción seria la única en que no se tendría que respetar el formato existente.
4.- No convierte el resultado de una fórmula (por ejemplo si tengo en la celda A1 un importe de "166,386" ptes, y otra celda con la fórmula " = 2*a1" que da como resultado 332,772 ptes, el resultado al convertir no da 2, sino 0,012020 que es el resultado de convertir el numero 2 a euros, no del resultado de la fórmula).
Muchas gracias por la ayuda que me prestas.
Un saludo
Con tu fórmula original, con mi fórmula y con un poquito de iniciativa, podrías resolver tu mismo el asunto, te invito a intentarlo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas