Ugrás a tartalomra

Hogyan lehet gyorsan kinyerni a fájlnevet a teljes elérési útvonalról az Excelben?

Ha feltételezzük, hogy van egy munkalapja, amely a fájl elérési útjainak listáját tartalmazza, akkor most csak a fájlnevet (az utolsó visszavágás jobb részét) szeretné kivonni az egyes útvonalakból, az alábbi képernyőképek szerint. Vannak gyors trükkök a feladat kezelésére?

Bontsa ki a fájlnevet a teljes útvonalról az Excel képletével
Bontsa ki a fájlnevet a teljes elérési útvonalról a Felhasználó által definiált funkcióval
Bontsa ki a fájlnevet a teljes útvonalról VBA kóddal


Bontsa ki a fájlnevet a teljes útvonalról az Excel képletével

Az Excelben az alábbi képlet segítségével gyorsan csak a fájlneveket vonhatja ki a teljes elérési útból.

Válasszon ki egy üres cellát, írja be az alábbi képletet, majd nyomja meg a gombot belép kulcs.

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

tippek: A1 az a cella, amelyből ki akarod vonni a fájlnevet), és nyomd meg az Enter gombot, majd húzd a kitöltő fogantyút a kívánt tartomány kitöltéséhez. Ezt követően minden fájlból kivonják a fájlnevet.

doc kivonat neve1


Bontsa ki a fájlnevet a teljes elérési útvonalról a Felhasználó által definiált funkcióval

A következő felhasználó által definiált funkcióval egyszerűen és gyorsan megszerezheti a fájlnevet.

1. Tartsa lenyomva a ALT + F11 billentyűk megnyitásához Microsoft Visual Basic for Applications ablak.

2. Kattints betétlap > Modulok, és illessze be a következő kódot a Modul ablak.

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. Nyomja meg a más + Q gombok a Microsoft Visual Basic for Applications ablakot, és térjen vissza a munkalapra. Egy üres cellába, például a B1-be írja be az alábbi képletet, és nyomja meg a belép kulcs.

=FunctionGetFileName(A1)

doc-extract-fájlnevek1

Ezután válassza ki ismét a B1 cellát, húzza a kitöltő fogantyút arra a tartományra, amelyen alkalmazni szeretné ezt a képletet, és az összes fájlnév kivonásra került a teljes elérési utakból a következő eredményként:

doc-extract-fájlnevek1


Bontsa ki a fájlnevet a teljes útvonalról VBA kóddal

A felhasználó által definiált funkció mellett egy VBA kód is segíthet a fájlnevek kibontásában. Kérjük, tegye a következőket:

1. Tartsa lenyomva a ALT + F11 billentyűk megnyitásához Microsoft Visual Basic for Applications ablak.

2. Kattints betétlap > Modulok, és illessze be a következő kódot a Modul ablakba.

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. Ezután nyomja meg a gombot F5 kulcs a kód futtatásához, és válassza ki azt a tartományt, amelyből kivonja a fájlnevet, lásd a képernyőképet:

doc-extract-fájlnevek1

4. Kattintson a gombra OK, a fájlneveket a következőkből vettük ki a választékból:

Megjegyzések: Ezzel a VBA-kóddal az eredeti adatok megsemmisülnek, ezért a kód alkalmazása előtt át kell másolnia egyet.

A legjobb irodai hatékonyságnövelő eszközök

🤖 Kutools AI Aide: Forradalmasítsa az adatelemzést a következők alapján: Intelligens végrehajtás   |  Kód létrehozása  |  Hozzon létre egyéni képleteket  |  Adatok elemzése és diagramok létrehozása  |  A Kutools funkciók meghívása...
Népszerű szolgáltatások: Ismétlődések keresése, kiemelése vagy azonosítása   |  Üres sorok törlése   |  Oszlopok vagy cellák kombinálása adatvesztés nélkül   |   Kerek Formula nélkül ...
Szuper keresés: Több kritérium VLookup    Többértékű VLookup  |   VLookup több munkalapon   |   Fuzzy Lookup ....
Speciális legördülő lista: Gyors legördülő lista létrehozása   |  Függő legördülő lista   |  Többszörösen válassza ki a legördülő listát ....
Oszlopkezelő: Adjon meg egy adott számú oszlopot  |  Oszlopok mozgatása  |  Kapcsolja be a Rejtett oszlopok láthatósági állapotát  |  Tartományok és oszlopok összehasonlítása ...
Kiemelt funkciók: Rács fókusz   |  Design nézet   |   Nagy Formula bár    Munkafüzet és lapkezelő   |  Erőforrás-könyvtár (Auto szöveg)   |  Dátumválasztó   |  Kombinálja a munkalapokat   |  Cellák titkosítása/dekódolása    E-mailek küldése listánként   |  Szuper szűrő   |   Speciális szűrő (félkövér/dőlt/áthúzott szűrés...) ...
A 15 legjobb eszközkészlet12 szöveg Eszközök (Szöveg hozzáadása, Karakterek eltávolítása,...)   |   50 + Táblázatos Típusai (Gantt-diagram,...)   |   40+ Praktikus képletek (Számolja ki az életkort a születésnap alapján,...)   |   19 beszúrás Eszközök (Helyezze be a QR-kódot, Kép beszúrása az útvonalból,...)   |   12 Átalakítás Eszközök (Számok szavakig, Valuta átváltás,...)   |   7 Egyesítés és felosztás Eszközök (Haladó kombinált sorok, Hasított sejtek,...)   |   ... és több

Töltsd fel Excel-készségeidet a Kutools for Excel segítségével, és tapasztald meg a még soha nem látott hatékonyságot. A Kutools for Excel több mint 300 speciális funkciót kínál a termelékenység fokozásához és az időmegtakarításhoz.  Kattintson ide, hogy megszerezze a leginkább szükséges funkciót...

Leírás


Az Office lap füles felületet hoz az Office-ba, és sokkal könnyebbé teszi a munkáját

  • Füles szerkesztés és olvasás engedélyezése Wordben, Excelben és PowerPointban, Publisher, Access, Visio és Project.
  • Több dokumentum megnyitása és létrehozása ugyanazon ablak új lapjain, mint új ablakokban.
  • 50% -kal növeli a termelékenységet, és naponta több száz kattintással csökkenti az egér kattintását!
Comments (2)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
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!
This comment was minimized by the moderator on the site
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)
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations