Como convertir texto en fecha

En la extracción desde una aplicación, por definición de la herramienta, emite las fecha como texto aparece por ejemplo en la columna E "Lunes, 09 de Febrero de 2015", y como no es fecha en formato fecha larga, no puedo convertirla a 09/02/2015, lo estoy haciendo con fórmula, primero busco la coma (,) desde allí extraigo el 2ª y 3ª carácter, luego concateno un "si" es Enero me agregue "/01/", si es febrero "/02/" y luego extraigo los últimos 4 caracteres así logro quedar en 09/02/2015, pero son 8 columnas de fechas distintas para filas que crecen a diario, además como algunas fechas están vacías necesito que las vacías las deje igual vacías, ¿la única columna que tiene datos en todas las filas es la columna A es posible hacerlo con macros?

1 respuesta

Respuesta
2

Te anexo la macro, puse de ejemplo 3 columnas "C", "E", "F", cambia o agrega las letras de las columnas que necesites.

Sub ConvertirFecha()
'Por.Dante Amor
    meses = Array("", "ENERO", "FEBRERO", "MARZO", "ABRIL", "MAYO", "JUNIO", "JULIO", _
                  "AGOSTO", "SEPTIEMBRE", "OCTUBRE", "NOVIEMBRE", "DICIEMBRE")
    col = Array("C", "E", "F")
    For i = 1 To Range("A" & Rows.Count).End(xlUp).Row
        For j = LBound(col) To UBound(col)
            For k = 1 To 12
                If InStr(1, UCase(Cells(i, col(j))), meses(k)) > 0 Then
                    fec1 = Split(Cells(i, col(j)), ",")
                    fec2 = Split(fec1(1), "de")
                    dia = Val(fec2(0))
                    mes = k
                    año = Val(fec2(2))
                    Cells(i, col(j)) = DateSerial(año, mes, dia)
                    Exit For
                End If
            Next
        Next
    Next
    MsgBox "Proceso terminado", vbInformation, "CONVERTIR FECHAS"
End Sub

Saludos.Dante Amor

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas