Note: The other languages of the website are Google-translated. Back to English
Inloggen  \/ 
x
or
x
Registreer  \/ 
x

or

Hoe de bestandsnaam snel uit het volledige pad in Excel te extraheren?

Stel dat u een werkblad heeft met een lijst met bestandspaden, dan wilt u nu alleen de bestandsnaam (het rechterdeel van de laatste backslash) uit elk pad extraheren, zoals in de volgende schermafbeeldingen. Zijn er snelle trucs om met deze taak om te gaan?

Extraheer de bestandsnaam van het volledige pad met de formule in Excel
Extraheer de bestandsnaam van het volledige pad met de door de gebruiker gedefinieerde functie
Extraheer de bestandsnaam van het volledige pad met VBA-code


Extraheer de bestandsnaam van het volledige pad met de formule in Excel

In Excel kunt u de onderstaande formule gebruiken om snel alleen de bestandsnaam uit het volledige pad te extraheren.

Selecteer een lege cel, voer de onderstaande formule erin in en druk vervolgens op Enter sleutel.

=MID(A1,FIND("*",SUBSTITUTE(A1,"\","*",LEN(A1)-LEN(SUBSTITUTE(A1,"\",""))))+1,LEN(A1))

Tips: A1 is de cel waaruit u de bestandsnaam wilt extraheren) en druk op de Enter-knop en sleep vervolgens de vulgreep om het gewenste bereik te vullen. Daarna wordt de bestandsnaam uit elke cel gehaald.

doc extract naam1


Extraheer de bestandsnaam van het volledige pad met de door de gebruiker gedefinieerde functie

Met de volgende door de gebruiker gedefinieerde functie kunt u de bestandsnaam eenvoudig en snel verkrijgen.

1. Houd de ALT + F11 toetsen om de te openen Microsoft Visual Basic for Applications-venster.

2. Klikken Invoegen > moduleen plak de volgende code in het Module Venster.

Function FunctionGetFileName(FullPath As String) As String
'Update 20140210
Dim splitList As Variant
splitList = VBA.Split(FullPath, "\")
FunctionGetFileName = splitList(UBound(splitList, 1))
End Function

3. Druk op de anders + Q toetsen om de Microsoft Visual Basic voor toepassingen venster en ga terug naar het werkblad. Voer in een lege cel, bijvoorbeeld B1, de onderstaande formule in en druk op Enter sleutel.

=FunctionGetFileName(A1)

doc-extract-bestandsnamen1

Selecteer vervolgens opnieuw cel B1, sleep de vulgreep naar het bereik waarop u deze formule wilt toepassen en alle bestandsnamen zijn als volgt uit de volledige paden geëxtraheerd:

doc-extract-bestandsnamen1


Extraheer de bestandsnaam van het volledige pad met VBA-code

Naast de door de gebruiker gedefinieerde functie, kan een VBA-code u ook helpen bij het extraheren van de bestandsnamen. Doe alstublieft als volgt:

1. Houd de ALT + F11 toetsen om de te openen Microsoft Visual Basic for Applications-venster.

2. Klikken Invoegen > moduleen plak de volgende code in het modulevenster.

Sub GetFileName()
'Update 20140210
Dim Rng As Range
Dim WorkRng As Range
Dim splitList As Variant
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
For Each Rng In WorkRng
    splitList = VBA.Split(Rng.Value, "\")
    Rng.Value = splitList(UBound(splitList, 1))
Next
End Sub

3. Druk vervolgens op F5 sleutel om deze code uit te voeren, en selecteer het bereik waaruit u de bestandsnaam wilt extraheren, zie screenshot:

doc-extract-bestandsnamen1

4. En klik vervolgens op OK, zijn de bestandsnamen als volgt uit de selectie gehaald:

Opmerking:: Met deze VBA-code worden de originele gegevens vernietigd, dus u moet er een kopiëren voordat u deze code toepast.


De beste tools voor kantoorproductiviteit

Kutools voor Excel lost de meeste van uw problemen op en verhoogt uw productiviteit met 80%

  • visfuik: Snel invoegen complexe formules, grafieken en alles wat je eerder hebt gebruikt; Versleutel cellen met wachtwoord; Maak een mailinglijst en stuur e-mails ...
  • Super Formula-balk (bewerk eenvoudig meerdere regels tekst en formule); Lay-out lezen (gemakkelijk grote aantallen cellen lezen en bewerken); Plakken in gefilterd bereik...
  • Voeg cellen / rijen / kolommen samen zonder gegevens te verliezen; Gespleten cellen inhoud; Combineer dubbele rijen / kolommen... Voorkom dubbele cellen; Vergelijk Ranges...
  • Selecteer Dupliceren of Uniek Rijen; Selecteer lege rijen (alle cellen zijn leeg); Super zoeken en fuzzy zoeken in veel werkboeken; Willekeurige selectie ...
  • Exacte kopie Meerdere cellen zonder de formuleverwijzing te wijzigen; Maak automatisch verwijzingen naar meerdere bladen; Plaats kogels, Selectievakjes en meer ...
  • Extraheer tekst, Tekst toevoegen, Verwijderen op positie, Ruimte verwijderen; Paging-subtotalen maken en afdrukken; Converteren tussen celinhoud en opmerkingen...
  • Super filter (bewaar en pas filterschema's toe op andere bladen); Geavanceerd sorteren per maand / week / dag, frequentie en meer; Speciaal filter door vet, cursief ...
  • Combineer werkmappen en werkbladen; Tabellen samenvoegen op basis van sleutelkolommen; Gegevens splitsen in meerdere bladen; Batch Converteer xls, xlsx en PDF...
  • Meer dan 300 krachtige functies. Ondersteunt Office / Excel 2007-2019 en 365. Ondersteunt alle talen. Eenvoudig te implementeren in uw onderneming of organisatie. Gratis proefperiode van 30 dagen met volledige functies. 60 dagen geld-terug-garantie.
kte tabblad 201905

Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker

  • Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
  • Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
  • Verhoogt uw productiviteit met 50% en vermindert elke dag honderden muisklikken!
officetab onderkant
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Rese · 1 years ago
    Very useful function. Is there a way to modify the script so it finds the filename if the path has either \ or / slashes?

    I have a spreadsheet with various hyperlinks where the underlying paths are either \ or / (back slash or forward slash) separates - I think its because some of the links to files were done just as bookmarks in Word originally, or to files on an internal doc server. Or maybe its because some path links are made with absolute vs relative path links?

    eg:

    ../../../../Documents/2ndQuarter/2019/standardcost_widget12345.pdf
    or
    \fileserver\factory23\Operations\Parts_Mgt\Documents\2ndQuarter\2019\standardcost_widget12345.pdf


    When I ran the getfilename function, it got all the filenames that were in paths with \ between directories or folders, but the links with / slashes were returned as is.
    I altered & added a second function that was similar but replaced the "\" in line 4 with "/" and called it forwardslashgetfilename and run it in a separate column after I run the first function.

    Running one function after another is not difficult, but I was curious if you can expand the code in splitList operation in line 4 to include both "\" or "/". I'm no VBA programmer but I tried splitList = VBA.Split(FullPath, "\" or "/") and it didn't work.

    Thoughts? I'm assuming its some simple syntax - I'm just clueless at this point... but I will start poking around the interwebs...

    Tks!
  • To post as a guest, your comment is unpublished.
    bob · 3 years ago
    The formula raises a #VALUE! error if the source cell has only a filename to begin with.. Embedding the entire formula in an IFERROR function solves this problem, e.g., =IFERROR(<orig formula>,A1)