Como recorrer las celdas de una columna con (fechas) y llevar valores a otras columnas.

Hola Dam, mil gracias por tu apoyo te agradezco me recomiendes sobre un pequeño detalle que tengo en este código: Pues debo recorrer la columna A desde la celda A3 que contiene fechas hasta que encuentre las celdas vacías. Cada fecha encontrada debe ser convertida a DIA, MES, AÑO y llevada a columnas diferentes así: Dia en la (F3), Mes en la (G3) y año en la H3.

El problema que me genera es que no muestra la fecha correcta. Ej. La primera fecha con que inicia es (09/12/2011) y me muestra día=30, mes=12 y año=1899.Este es el código que llevo:

Sub conversión()

Dim f As Integer

Dim fecha As Date

f = 0

Worksheets("Hoja5").Activate

ActiveSheet.Range("A3").Activate

Do While Not IsEmpty(ActiveCell.Value)

fecha=ActiveCell.Offset(f,0).Value

ActiveSheet.Range("F3").Activate

ActiveCell.Offset(f, 0).Value = Day(fecha)

ActiveSheet.Range("G3").Activate

ActiveCell.Offset(f, 0).Value = Month(fecha)ActiveSheet.Range("H3").Activate

ActiveCell.Offset(f, 0).Value = Year(fecha)

f = f + 1

ActiveSheet.Range("A3").Activate

ActiveCell.Offset(f, 0).Activate

Loop

End Sub

Mil gracias

hvalencia10

1 Respuesta

Respuesta
1

Antes de ejecutar la macro, verificas que tu fecha, sea una verdadera fecha, inténtalo primero desde excel, escribe la función =dia("A3") y revisa que efectivamente te traiga 09, también verifica que con =mes("A3") te traiga 12 y con año("A3") sea 2011

En vba puedes hacerlo con isdtate

If IsDate(range("A3")) Then

tu código

else

Msgbox “La fecha no es valida”
End if

Saludos. Dam

Hola Dam,

Nuevamente mil gracias por tus aportes estos son de gran ayuda, adicional a tu aporte encontré que debía redireccionar la fila y la columna en el ciclo mientras asi: (Do While Not IsEmpty(ActiveCell.Offset(f,0).Value)

Un abrazo y gracias por tus aportes.

Valencia10

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas