Foros del Web » Programación para mayores de 30 ;) » Programación General »

Macro VBA para Excel

Estas en el tema de Macro VBA para Excel en el foro de Programación General en Foros del Web. Buenos días, Soy nuevo en esto de VBA que me parece totalmente distinto a lo que suelo ver de programación. Necesito una macro que haga ...
  #1 (permalink)  
Antiguo 16/08/2012, 03:39
Avatar de caruizj  
Fecha de Ingreso: marzo-2012
Ubicación: Málaga
Mensajes: 161
Antigüedad: 12 años, 7 meses
Puntos: 14
Macro VBA para Excel

Buenos días,

Soy nuevo en esto de VBA que me parece totalmente distinto a lo que suelo ver de programación.

Necesito una macro que haga lo siguiente:

Recorrar todas las celdas de todas las columnas dada una Hoja donde dicha columna tenga al menos 1 celda con datos.

Comprobar celda a celda con datos si tiene el formato 01,03,1989 y cambiarlo por 01.03.1989.


LO POCO QUE HE CONSEGUIDO:

Pasar las comas a puntos lo he conseguido, pero no me lo hace bien. Cuando escribo la coma del teclado (QWERTY) si me funciona. Cuando uso el . del teclado númerico que me lo convierte en coma decimal excel no me funciona.


Lo que he usado es:

Código vb:
Ver original
  1. Cells.Replace What:=",", Replacement:=".", LookAt:=xlPart, SearchOrder _
  2. :=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False


El for para recorrerlo no sé como hacer en VBA la condición final.

¿Alguien me puede echar una mano?
__________________
Aprendiendo un poco de Java :D
  #2 (permalink)  
Antiguo 21/08/2012, 02:37
Avatar de caruizj  
Fecha de Ingreso: marzo-2012
Ubicación: Málaga
Mensajes: 161
Antigüedad: 12 años, 7 meses
Puntos: 14
Respuesta: Macro VBA para Excel

Ya he conseguido hacerlo mediante formulas de excel. Para pasar a macro en VBA lo que es la formula se escribe tal cual o tiene otra nomenclatura.

Teniendo en la celda 03,01,1992

SI =LARGO(B3) = 10

SI =LARGO(B3)-LARGO(SUSTITUIR(B3;",";"")) = 2

SI =HALLAR(",";B3;1) = 3

SI =HALLAR(",";B3;4) = 6


ENTONCES = (SUSTITUIR(B3;",";"."))

Y la celda quedaría con 03.01.1992

PASAR SIGUIENTE CELDA


Un saludo!
__________________
Aprendiendo un poco de Java :D

Etiquetas: excel, macro, programa, vba
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 17:37.