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

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 termelékenységi eszközök

A Kutools for Excel megoldja a legtöbb problémát, és 80% -kal növeli a termelékenységet

  • újrafelhasználás: Gyorsan helyezze be összetett képletek, diagramok és bármi, amit korábban használt; Cellák titkosítása jelszóval; Levelezőlista létrehozása és e-maileket küldeni ...
  • Szuper Formula Bár (könnyedén szerkeszthet több szöveget és képletet); Olvasás elrendezés (könnyen olvasható és szerkeszthető nagyszámú cella); Beillesztés a Szűrt tartományba...
  • Cellák / sorok / oszlopok egyesítése az adatok elvesztése nélkül; Osztott cellák tartalma; Kombinálja a duplikált sorokat / oszlopokat... megakadályozza az ismétlődő cellákat; Hasonlítsa össze a tartományokat...
  • Válassza a Másolat vagy az Egyedi lehetőséget Sorok; Válassza az Üres sorok lehetőséget (az összes cella üres); Super Find és Fuzzy Find sok munkafüzetben; Véletlenszerű kiválasztás ...
  • Pontos másolás Több cella a képletreferencia megváltoztatása nélkül; Automatikus referenciák létrehozása több lapra; Helyezze be a golyókat, Jelölőnégyzetek és még sok más ...
  • Kivonat szöveg, Szöveg hozzáadása, Eltávolítás pozíció szerint, Hely eltávolítása; Hozz létre és nyomtasson személyhívó részösszegeket; Konvertálás a cellatartalom és a megjegyzések között...
  • Szuper szűrő (mentse el és alkalmazza a szűrősémákat más lapokra); Haladó rendezés hónap / hét / nap, gyakoriság és egyebek szerint; Speciális szűrő félkövér, dőlt betűvel ...
  • Kombinálja a munkafüzeteket és a munkalapokat; Táblázatok egyesítése kulcsoszlopok alapján; Az adatok felosztása több lapra; Kötegelt konvertálás xls, xlsx és PDF...
  • Több mint 300 hatékony funkció. Támogatja az Office / Excel 2007-2021 és 365 verziókat. Minden nyelvet támogat. Könnyű üzembe helyezés vállalatában vagy szervezetében. Teljes funkciók 30 napos ingyenes próbaverzió. 60 napos pénzvisszafizetési garancia.
kte lap 201905

Az Office fül a füles felületet hozza 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!
officetab alja
A megjegyzések rendezése szerint
Hozzászólások (2)
Még nincs értékelés. Legyen Ön az első, aki értékel!
A weboldal moderátora ezt a megjegyzést minimalizálta
A képlet #ÉRTÉKET emel! hiba, ha a forráscella csak egy fájlnévvel kezdődik. A teljes képlet IFERROR függvénybe ágyazása megoldja ezt a problémát, pl. =IFERROR( ,A1)
A weboldal moderátora ezt a megjegyzést minimalizálta
Nagyon hasznos funkció. Van mód a szkript módosítására, hogy megtalálja a fájlnevet, ha az elérési út \ vagy / perjeleket tartalmaz?

Van egy táblázatom különféle hiperhivatkozásokkal, ahol a mögöttes elérési utak \ vagy / (perjel vagy előre perjel) elválasztják egymástól – gondolom azért, mert a fájlokra mutató hivatkozások egy része eredetileg könyvjelzőként készült a Wordben, vagy a belső fájlokra mutató hivatkozások. doc szerver. Vagy talán azért, mert bizonyos útvonalhivatkozások abszolút vagy relatív útvonalhivatkozásokkal készülnek?

például:

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


Amikor futtattam a getfilename függvényt, megkapta az összes fájlnevet, amely a könyvtárak vagy mappák közötti \ jelű elérési útban volt, de a / perjellel jelölt hivatkozások a régiek voltak.
Módosítottam és hozzáadtam egy második függvényt, amely hasonló volt, de a 4. sorban a "\"-t "/"-re cseréltem, és elneveztem forwardslashgetfilename-nek, és az első függvény futtatása után egy külön oszlopban futtattam.

Egyik függvény futtatása a másik után nem nehéz, de kíváncsi voltam, hogy a 4. sorban lévő splitList műveletben ki tudod-e bővíteni a kódot, hogy a „\” vagy a „/” is szerepeljen. Nem vagyok VBA programozó, de kipróbáltam a splitList = VBA.Split(FullPath, "\" vagy "/") parancsot, de nem működött.

Gondolatok? Feltételezem, hogy valami egyszerű szintaxisa van – most tanácstalan vagyok... de elkezdek bóklászni az interneten...

Tks!
Még senki sem írt megjegyzést

Kövess minket

Copyright © 2009 - www.extendoffice.com. | Minden jog fenntartva. Powered by ExtendOffice. | Oldaltérkép
A Microsoft és az Office logó a Microsoft Corporation védjegyei vagy bejegyzett védjegyei az Egyesült Államokban és / vagy más országokban.
Sectigo SSL védi