Remove all text before character, when character appears multiple times

ladyredbull115

New Member
Joined
Nov 29, 2016
Messages
9
I have many rows that contain a file path which are all different and I need to end up with only the text after the last \

For example:

c:\users\user.name\appdata\roaming\baidu\baidurjdownloader\1.6.0.77\bdrcdl.exe

The cells after the file path contain counts of times this location was accessed.

Essentially, I am looking to remove all of the text before bdrcdl.exe so that I can create a pivot table and sum up all of the counts of bdrcdl.exe

I tried =RIGHT(A29,LEN(A29)-FIND("",A29)) but that only removes the text before the first ""
Converting the text to columns works, but since each file path is a different length, it spreads the text so that I can't easily gather what I need.

Thinking I need to a macro to loop through the nested function I tried, but I am still new to VBA and not really sure where to start on that one.

Any suggestions will be greatly appreciated.


<tbody>
</tbody>
 

Excel Facts

Using Function Arguments with nested formulas
If writing INDEX in Func. Arguments, type MATCH(. Use the mouse to click inside MATCH in the formula bar. Dialog switches to MATCH.

gaz_chops

Well-known Member
Joined
Apr 29, 2003
Messages
6,485
Platform
  1. MacOS
Welcome to the forum.

If a formula will suffice, try

=MID(A1,FIND("§",SUBSTITUTE(A1,"","§",LEN(A1)-LEN(SUBSTITUTE(A1," \ ",""))))+2,99)

Remove the space either side of \
 
Last edited:
Upvote 0

MickG

MrExcel MVP
Joined
Jan 9, 2008
Messages
14,841
Try this for FilePaths in column "A"
Code:
[COLOR="Navy"]Sub[/COLOR] MG29Nov51
[COLOR="Navy"]Dim[/COLOR] Rng [COLOR="Navy"]As[/COLOR] Range, Dn [COLOR="Navy"]As[/COLOR] Range, Sp [COLOR="Navy"]As[/COLOR] Variant
[COLOR="Navy"]Set[/COLOR] Rng = Range(Range("A1"), Range("A" & Rows.Count).End(xlUp))
[COLOR="Navy"]For[/COLOR] [COLOR="Navy"]Each[/COLOR] Dn [COLOR="Navy"]In[/COLOR] Rng
    Sp = Split(Dn.Value, "\")
    Dn.Value = Sp(UBound(Sp))
[COLOR="Navy"]Next[/COLOR] Dn
[COLOR="Navy"]End[/COLOR] [COLOR="Navy"]Sub[/COLOR]
Regards Mick
 
Upvote 0

AlKey

Active Member
Joined
Oct 15, 2013
Messages
395
ADVERTISEMENT
If you need text after the last "" use this
Assuming string is in A1
=TRIM(RIGHT(SUBSTITUTE(A1,"",REPT(" ",LEN(A1))),LEN(A1)))

*** something wrong with this forum software. Enter \ in ""
 
Last edited:
Upvote 0

gaz_chops

Well-known Member
Joined
Apr 29, 2003
Messages
6,485
Platform
  1. MacOS
Thanks gaz_chops. That formula returns #value

Did you remove the space either side of \ in the formula?

Code:
[TABLE="width: 552"]
<colgroup><col><col span="2"></colgroup><tbody>[TR]
[TD]c:\users\user.name\appdata\roaming\baidu\baidurjdownloader\1.6.0.77\bdrcdl.exe[/TD]
[TD][/TD]
[TD]drcdl.exe[/TD]
[/TR]
[TR]
[TD]c:\users\user.name\appdata\roaming\baidu\1.6.0.77\bdrcdl.exe[/TD]
[TD][/TD]
[TD]drcdl.exe[/TD]
[/TR]
</tbody>[/TABLE]
 
Last edited:
Upvote 0

ladyredbull115

New Member
Joined
Nov 29, 2016
Messages
9
ADVERTISEMENT
Thanks MickG,

I added that code to the macro list.

When I ran it, I got a "Run-time error '9': subscript out of range" error, debugging shows Dn.Value = SP(UboundOSp)) highlighted.


Try this for FilePaths in column "A"
Code:
[COLOR=Navy]Sub[/COLOR] MG29Nov51
[COLOR=Navy]Dim[/COLOR] Rng [COLOR=Navy]As[/COLOR] Range, Dn [COLOR=Navy]As[/COLOR] Range, Sp [COLOR=Navy]As[/COLOR] Variant
[COLOR=Navy]Set[/COLOR] Rng = Range(Range("A1"), Range("A" & Rows.Count).End(xlUp))
[COLOR=Navy]For[/COLOR] [COLOR=Navy]Each[/COLOR] Dn [COLOR=Navy]In[/COLOR] Rng
    Sp = Split(Dn.Value, "\")
    Dn.Value = Sp(UBound(Sp))
[COLOR=Navy]Next[/COLOR] Dn
[COLOR=Navy]End[/COLOR] [COLOR=Navy]Sub[/COLOR]
Regards Mick
 
Upvote 0

ladyredbull115

New Member
Joined
Nov 29, 2016
Messages
9
Getting closer, updated formula,

returns this in two separate cells where the original file path was the same except for user name, a
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\bdrcdl.exe
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\bdrcdl.exe

Strange that it comes back with a different number or \s when the path was the same except for the user name field.

I could use that and do a file find and replace on \

<colgroup><col width="64" style="width:48pt"> </colgroup><tbody>
</tbody>
 
Upvote 0

MickG

MrExcel MVP
Joined
Jan 9, 2008
Messages
14,841
I Imagine you have some Blank rows !!!
Try this:-
Code:
[COLOR="Navy"]Sub[/COLOR] MG29Nov18
[COLOR="Navy"]Dim[/COLOR] Rng [COLOR="Navy"]As[/COLOR] Range, Dn [COLOR="Navy"]As[/COLOR] Range, Sp [COLOR="Navy"]As[/COLOR] Variant
[COLOR="Navy"]Set[/COLOR] Rng = Range(Range("A1"), Range("A" & Rows.Count).End(xlUp))
[COLOR="Navy"]For[/COLOR] [COLOR="Navy"]Each[/COLOR] Dn [COLOR="Navy"]In[/COLOR] Rng
 [COLOR="Navy"]If[/COLOR] Not Dn.Value = vbNullString [COLOR="Navy"]Then[/COLOR]
    Sp = Split(Dn.Value, "\")
    Dn.Value = Sp(UBound(Sp))
 [COLOR="Navy"]End[/COLOR] If
[COLOR="Navy"]Next[/COLOR] Dn
[COLOR="Navy"]End[/COLOR] [COLOR="Navy"]Sub[/COLOR]
Regards Mick
 
Upvote 0

Forum statistics

Threads
1,195,657
Messages
6,010,945
Members
441,577
Latest member
Alonshow

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Top