Extraer parte de una cadena con VBA

Para Dante Amor, buenas tardes, hijole me da mucha pena por que esta semana si que te he preguntado, una disculpa y espero me puedas apoyar. Tengo en la columna A valores como este "C:\Users\AVANCE SEM## (ALIAS).xlsx", el primer punto es que no todas tienen la misma longitud de caracteres. Quiero que en la columna B solo me coloque el nombre del archivo, es decir que cuente a partir de la derecha y hasta que encuentre el simbolo de "\", para que la final solo aparezca "AVANCE SEM## (ALIAS).xlsx". Tengo un formato que ya lo hace pero es con fórmulas y la verdad tarda mucho cuando son demasiadas celdas a evaluar. Quiero saber si se puede con VBA.

1 Respuesta

Respuesta
1

H o   l a:

No te preocupes, no es ninguna molestia, siempre que pueda con gusto te ayudaré.

Te anexo la macro, la probé con 100, 000 registros y es casi inmediata:

Sub ExtraerArchivos()
'Por.Dante Amor
    With Range("B2:B" & Range("A" & Rows.Count).End(xlUp).Row)
        .FormulaR1C1 = _
            "=MID(RC[-1],FIND(REPT(CHAR(1),1),SUBSTITUTE(RC[-1],""\"",REPT(CHAR(1),1),LEN(RC[-1])-LEN(SUBSTITUTE(RC[-1],""\"",""""))))+1,LEN(RC[-1]))"
        .Value = .Value
    End With
End Sub

' : )
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias
' : )

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas