Extraer texto concreto de una celda y ponerlo en columnas

Necesito sacar de una importación de datos en PDF tal como indico en estos dos renglones:

15/06/2018 AGUA MINERAL CORRIENTE 51;12

16/06/2018 DIETÉTICOS DEL SURESTE DE LA PENÍNSULA 113;54

De estos textos, cuando se haga la importación, necesito la fecha en una columna, el texto en otra columna y los importes en otra columna.

Por favor, alguien me puede echar una mano

2 respuestas

Respuesta
2

Con ese tipo de textos no es posible utilizar la opción Texto en columnas.

La siguiente macro busca el espacio entre fecha y texto (aunque podría asumir que la fecha siempre tendrá 10 caracteres si tuviese seguridad de que siempre vendrán en ese formato). Y luego busca el espacio antes del importe.

Sub texto_columnas()
'x Elsamatilde
'recorre col A desde fila 2   .... ajustar 
[A2].Select
While ActiveCell <> ""
    'fecha hasta el primer espacio. en col C
    espa = InStr(1, ActiveCell.Text, " ")
    fecha = Mid(ActiveCell.Text, 1, espa - 1)
    Range("C" & ActiveCell.Row) = fecha
    'importe en col E. hasta el espacio final
    For x = Len(ActiveCell.Text) To 1 Step -1
        If Mid(ActiveCell.Text, x, 1) = " " Then Exit For
    Next x
    impor = Right(ActiveCell.Text, Len(ActiveCell.Text) - x)
    Range("E" & ActiveCell.Row) = impor
    'prod va desde espa hasta x
    prod = Mid(ActiveCell.Text, 12, x - 12)
    Range("D" & ActiveCell.Row) = prod
    'se pasa a fila sgte
    ActiveCell.Offset(1, 0).Select
Wend
End Sub

Estoy asumiendo que los textos se encuentran en col A a partir de fila 2.... ajusta estas referencias a tu modelo. Lo mismo el destino de los resultados que imaginé en col C:E.

Luego seguramente tendrás que agregar la conversión de monedas... pero eso en nueva consulta y aclarando el formato de tus importes (¿punto y coma como separador? )

Respuesta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas