Note: The other languages of the website are Google-translated. Back to English

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. Volledige functies
    30
    -dag gratis op proef. 60 dagen niet-goed-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 voor u!
officetab onderkant
Comments (2)
Nog geen beoordelingen. Beoordeel als eerste!
Deze opmerking is gemaakt door de moderator op de site
De formule levert een #WAARDE op! fout als de broncel alleen een bestandsnaam heeft om mee te beginnen. Het insluiten van de hele formule in een IFERROR-functie lost dit probleem op, bijv. =IFERROR( ,A1)
Deze opmerking is gemaakt door de moderator op de site
Zeer handige functie. Is er een manier om het script aan te passen zodat het de bestandsnaam vindt als het pad \ of / slashes heeft?

Ik heb een spreadsheet met verschillende hyperlinks waar de onderliggende paden ofwel \ of / (back slash of forward slash) zijn - ik denk dat dit komt omdat sommige koppelingen naar bestanden oorspronkelijk net als bladwijzers in Word werden gedaan, of naar bestanden op een interne doc-server. Of misschien omdat sommige padkoppelingen zijn gemaakt met absolute versus relatieve padkoppelingen?

bijvoorbeeld:

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


Toen ik de functie getfilename uitvoerde, kreeg het alle bestandsnamen die in paden stonden met \ tussen mappen of mappen, maar de links met / schuine strepen werden geretourneerd zoals ze zijn.
Ik veranderde en voegde een tweede functie toe die vergelijkbaar was, maar verving de "\" in regel 4 door "/" en noemde het forwardslashgetfilename en voer het uit in een aparte kolom nadat ik de eerste functie had uitgevoerd.

De ene functie na de andere uitvoeren is niet moeilijk, maar ik was benieuwd of je de code in de splitList-bewerking in regel 4 kunt uitbreiden om zowel "\" als "/" op te nemen. Ik ben geen VBA-programmeur, maar ik heb splitList = VBA.Split (FullPath, "\" of "/") geprobeerd en het werkte niet.

Gedachten? Ik neem aan dat het een simpele syntaxis is - ik heb op dit moment gewoon geen idee ... maar ik zal beginnen rond te neuzen in de interwebs ...

Tk!
Er zijn nog geen reacties geplaatst
Laat uw commentaar
Posten als gast
×
Beoordeel dit bericht:
0   Personages
Voorgestelde locaties

Volg ons

Copyright © 2009 - www.extendoffice.com. | Alle rechten voorbehouden. Aangedreven door ExtendOffice. | Sitemap
Microsoft en het Office-logo zijn handelsmerken of gedeponeerde handelsmerken van Microsoft Corporation in de Verenigde Staten en / of andere landen.
Beschermd door Sectigo SSL