H o l a:
Te anexo la macro, puse algunas validaciones para verificar el contenido de las celdas. Prueba y me comentas.
Sub SepararDatos()
'Por.Dante Amor
Columns("B:C").ClearContents
seps = Array("/", "-", "_")
For i = 1 To Range("A" & Rows.Count).End(xlUp).Row
existenum = False
For j = 1 To Len(Cells(i, "A"))
wcar = Mid(Cells(i, "A"), j, 1)
If IsNumeric(Mid(Cells(i, "A"), j, 1)) Then
nums = Mid(Cells(i, "A"), j)
existe = False
For k = LBound(seps) To UBound(seps)
resultados = Split(nums, seps(k))
x = UBound(resultados)
If x > 0 Then
existe = True
Exit For
End If
Next
If existe Then
Cells(i, "B") = resultados(0)
Select Case Len(resultados(1))
Case 4
Cells(i, "C") = resultados(1)
Case 2
Cells(i, "C") = "20" & resultados(1)
Case Else
Cells(i, "C") = resultados(1) & " No es un año"
End Select
Else
Cells(i, "B") = resultados(0)
Cells(i, "C") = "No tiene separador de año"
End If
existenum = True
Exit For
End If
Next
If existenum = False Then
Cells(i, "B") = "No hay números"
End If
Next
MsgBox "Fin"
End Sub
':)
'S aludos. D a n t e A m o r . R ecuerda valorar la respuesta. G racias
':)