Foros del Web » Soporte técnico » Ofimática »

Añadir 0 en Macro Excel con condicional

Estas en el tema de Añadir 0 en Macro Excel con condicional en el foro de Ofimática en Foros del Web. Antes de nada, no se mucho por no decir nada de programacion en macros de Excel. Me gustaria que de un rango (K4;K13) donde tengo ...
  #1 (permalink)  
Antiguo 20/04/2015, 14:47
 
Fecha de Ingreso: junio-2010
Mensajes: 106
Antigüedad: 13 años, 10 meses
Puntos: 1
Añadir 0 en Macro Excel con condicional

Antes de nada, no se mucho por no decir nada de programacion en macros de Excel.

Me gustaria que de un rango (K4;K13) donde tengo lo siguientes datos con formato de numero "Texto", quiero que analize si la celda tiene la necesidad de añadir ceros.

Código EXCEL:
Ver original
  1. 15,83
  2. 7,616
  3. 10,604
  4. 9,8
  5. 266
  6. 55
  7. -
  8. -
  9. -
  10. -

En este ejemplo, la primera necesita ser modificada añadiendole un cero (15,830), la cuarta celda tambien necesita ser modificada dado que le faltan dos ceros (9,800).

El codigo debe abarcar todas la celdas pero tendria que existir un criterio que se deberia aplicar solo a las celdas que contengan la coma, dado que las otras no son miles.

No se si se entiende, muchas gracias.

Última edición por Zipus; 20/04/2015 a las 14:51 Razón: dato importante
  #2 (permalink)  
Antiguo 21/04/2015, 06:13
Avatar de Perr0  
Fecha de Ingreso: mayo-2005
Ubicación: Santiago de Chile, Chile
Mensajes: 676
Antigüedad: 18 años, 10 meses
Puntos: 79
Exclamación Respuesta: Añadir 0 en Macro Excel con condicional

ésta es una solución con formatos, sólo puede variar la coma por el punto de acuerdo a la conifg. regional que tengas



salu2
__________________
Numerador Mp3 en Access =)
http://www.mediafire.com/download/r9...pdw/mp3(2).zip
  #3 (permalink)  
Antiguo 27/04/2015, 11:40
 
Fecha de Ingreso: junio-2010
Mensajes: 106
Antigüedad: 13 años, 10 meses
Puntos: 1
Respuesta: Añadir 0 en Macro Excel con condicional

Casi!
Buena aportación pero siguiendo mi ejemplo anterior, los numeros "266" y "55" no se tendrian que modificar.

Con tu idea se me transforman en 266,000 y 55,000 cosa que no quiero.

Aparte de esto que comentamos, hay alguna forma de pasar la siguiente cadena "57,96027 Apr 2015" a algo como "57,960 (6 espacios entre la fecha y el numero) 27 Apr 2015".

Gracias

Última edición por Zipus; 27/04/2015 a las 11:48 Razón: otra consulta
  #4 (permalink)  
Antiguo 29/04/2015, 09:17
Avatar de Monimo  
Fecha de Ingreso: noviembre-2007
Ubicación: Mexico Df
Mensajes: 742
Antigüedad: 16 años, 5 meses
Puntos: 69
Respuesta: Añadir 0 en Macro Excel con condicional

Yo no utilizaría macros, se puede hacer una pseudo programación con simples fórmulas:
necesitarías 6 columnas disponibles para poner las siguientes fórmulas:

columna A
15,83
7,616
10,604
9,8
266
55


Columna B:

=SI.ERROR(ENCONTRAR(",",A1,1),"no format need")
=IF.ERROR(FIND(",",A1,1),"no format need")
Esto te "filtra" solo aquellos que necesiten el formato; es decir los que traigan la coma.

Esta columna nos va a servir de "bandera"

columna C
=DERECHA(A1,B1-1)
=RIGHT(A1,B1-1)

Esto obtiene solo la parte que le faltan ceros para añadir.

columna D:
=3-LARGO(C1)
=3-LEN(C1)

Esto nos dice (sabiendo que después de la coma deberían haber 3 dígitos) nos dice cuantos ceros hay que añadir


columna E
=SI(E1=1,D1*10,D1*100)
=IF(E1=1,D1*10,D1*100)

Si es 1 pues son decenas y si es 2 son centenas y se agregan los ceros "automático" por la multiplcación

Al final solo hay que juntar todo y dejar los que no necesitaban arreglo como venían:


Columna F

=SI(ESNUMERO(B1),CONCATENAR(IZQUIERDA(A1,B1),E1),A 1)
=IF(ISNUMBER(B1),CONCATENATE(LEFT(A1,B1),E1),A1)

Al final queda así:

15,830
7616
10604
9,800
266
55

Ya nada más yo te recomendaría multiplicar todo por uno para que lo que queda como cadena de caracteres (los que traen la coma) se conviertan a numero porque si no después ya no vas a poder manipularlos como numero si no que se vana a quedar como cadena.


El problema vendría cuando fueran millones porque tendrías que contar cuantas veces encuentra la coma e ir partiendo el numero para llegar a donde le faltan los ceros pero sería simple cuestión de usar mas columnas y repetir un paso....

Saludos!
__________________
La verdad es que lo que no quisiera dejar de hacer nunca (a parte de comer) es programar
  #5 (permalink)  
Antiguo 30/04/2015, 16:38
Avatar de Monimo  
Fecha de Ingreso: noviembre-2007
Ubicación: Mexico Df
Mensajes: 742
Antigüedad: 16 años, 5 meses
Puntos: 69
Respuesta: Añadir 0 en Macro Excel con condicional

Cita:
Iniciado por Zipus Ver Mensaje
Casi!
Buena aportación pero siguiendo mi ejemplo anterior, los numeros "266" y "55" no se tendrian que modificar.

Con tu idea se me transforman en 266,000 y 55,000 cosa que no quiero.

Aparte de esto que comentamos, hay alguna forma de pasar la siguiente cadena "57,96027 Apr 2015" a algo como "57,960 (6 espacios entre la fecha y el numero) 27 Apr 2015".

Gracias
Sí las fórmulas left, MID, RIGHT y FIND te ayudan a esto también...
__________________
La verdad es que lo que no quisiera dejar de hacer nunca (a parte de comer) es programar

Etiquetas: celda, condicional, excel, macro, programacion
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:38.