CodigoVBA Excel convertir un numero a formato de fecha

No tengo mucho conocimiento en código VBA para Excel, pero, me gustaría que me indicara como hago para convertir mediante una rutina en VBA para Excel, todos los valores numéricos de una determinada columna a formato de fecha y que su resultado quede en la misma columna.
Ejemplo:
          A A
1 20080110 10-Ene-08
2 20080110 10-Ene-08
3 20080118 18-Ene-08
4 20080210 10-Feb-08
5 20080210 10-Feb-08
6 20080210 10-Feb-08
7 20080210 10-Feb-08
8 20080319 19-Mar-08
9 20080319 19-Mar-08
10 20080319 19-Mar-08
11 20080319 19-Mar-08

1 Respuesta

Respuesta
1
Creo que esto te sera útil:
Sub Fechita()
Dim celda As Range
For Each celda In ActiveSheet.Range("A1:A10")
celda = CDate(Format(Right(celda, 2) & "-" & Mid(celda, 5, 2) & "-" & Left(celda, 4), "dd-mmm-yyyy"))
Next
End Sub
Abraham
Excelente, gracias.
Cómo podríamos depurar el código de tal forma que si volviéramos a ejecutar la macro y se encotrara con datos de tipo fecha u otro tipo bien sea vacío o cero, no ejecute nada.
En nuestro caso ejemplo, si por segunda vez ejecuto la macro, se genera un error.
Gracias por tu aporte.
Sub Fechita()
Dim celda As Range
For Each celda In ActiveSheet.Range("A1:A10")
If IsDate(celda) = True Or celda = 0 Or celda = "" Then
GoTo salto
End If
celda = CDate(Format(Right(celda, 2) & "-" & Mid(celda, 5, 2) & "-" & Left(celda, 4), "dd-mmm-yyyy"))
salto:
Next
End Sub
Abraham

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas