Visual Basic - poner formato moneda a una columna con la moneda que está escrita en otra columna

Life is soft - evento anual de software empresarial
 
Vista:

poner formato moneda a una columna con la moneda que está escrita en otra columna

Publicado por arcones (3 intervenciones) el 13/11/2015 20:53:45
Hola,

Tengo una hoja de Excel donde tengo dos columnas consecutivas: en la 1ª columna está la cantidad y en la 2ª, escrita, está la moneda de esa cantidad, sería algo así;

Columna 1
30
25
5

Columna 2
USD
EUR
GBP

Me gustaría dejar solo una columna, y preciso de una macro que me aplique a la columna 1, formato moneda, pero no una moneda cualquiera, sino la moneda que estará en la columna 2. En cada linea habrá de hacerse lo mismo, es decir, el resultado del ejemplo sería:

Columna 1
30USD
25EUR
5GBP

Todas estas celdas serán formato moneda.

¿Me podeis ayudar por favor?

Saludos y muchas gracias por adelantado,
Marta Arcones
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Gean

poner formato moneda a una columna con la moneda que está escrita en otra columna

Publicado por Gean (5 intervenciones) el 15/11/2015 00:38:24
arcones una pregunta adicional, tu deseas que te junte las dos columnas? o sea por lo que entiendo si en la
columna 1
30

columna 2
USD

CORES LA MACRO Y EN OTRA HOJA TE QUEDA EL RESULTADO

columna 1
30USD

Si esto es asi lo unico que tendrias que hacer es

Sub ConcatenarColumnas()
Sheets("Hoja2").Select ' Seleccionas hoja 2
Range("A1").Select 'Colocas el cursor en la celda A1
ActiveCell.FormulaR1C1 = "=CONCATENATE(Hoja1!RC,Hoja1!RC[1])" 'Colocas la fórmula de Unión de Columnas
'La copias en toda la columna o parte de ella para que actué con todos los elementos de tu hoja
Range("A1").Select
Selection.AutoFill Destination:=Range("A1:A14"), Type:=xlFillDefault
Range("A1:A14").Select
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

poner formato moneda a una columna con la moneda que está escrita en otra columna

Publicado por arcones (3 intervenciones) el 24/11/2015 13:47:36
Hola Gean,

Perdona la tardanza en responder.

Sí, quiero que me lo junte en una columna como tú has dicho, el tema es que con la función de concatenar no vale tal cual porque luego el resultado es formato general.

Lo que yo necesito es que la columna con el resultado tenga los siguientes formatos:

Columna Resultado
30USD -> Formato USD
25EUR -> Formato EUR
5GBP -> Formato GBP

¿Se podría añadir a tu macro alguna sentencia para conseguirlo?

Saludos y gracias por adelantado,
Marta Arcones
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Andres Leonardo
Val: 3.117
Oro
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

poner formato moneda a una columna con la moneda que está escrita en otra columna

Publicado por Andres Leonardo (1798 intervenciones) el 24/11/2015 15:09:38
podrias explicarme que es !"Formato USD o te refieres al simbolo de la moneda

Hazme un favor


A -----------------b---------------------c
30 -------------USD---------------COMO SE DEBE VER?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Gean

poner formato moneda a una columna con la moneda que está escrita en otra columna

Publicado por Gean (5 intervenciones) el 24/11/2015 16:24:48
Ok, ahora entiendo mejor

suponiendo que tenemos estos datos:

.........A............B.............C
1 ......30......USD

Deberías tener una macro con la siguiente rutina:
Range("C1").Select
ActiveCell.FormulaR1C1 = "=+CONCATENATE(RC[-2], "" "", RC[-1] )"
Selection.NumberFormat = "[$" & Range("B1").Value & "] #,##0.00"

Con el for adecuado que recorra la tabla que tienes te ayudará.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

poner formato moneda a una columna con la moneda que está escrita en otra columna

Publicado por arcones (3 intervenciones) el 09/12/2015 12:36:33
Gean:

Muchas gracias me ha ido estupendamente

Andres Leonardo:

Con "Formato USD" me referia a formato moneda, pero no con cualquier moneda, sino con la moneda USD.
De todas formas con la macro de Gean y un for me funciona ;)

Gracias a los dos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar