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

or

Sut i dynnu enw ffeil yn gyflym o'r llwybr llawn yn Excel?

Gan dybio bod gennych chi daflen waith sy'n cynnwys rhestr o lwybrau ffeiliau, nawr yr hoffech chi dynnu enw'r ffeil yn unig (rhan iawn y backslash terfynol) o bob llwybr fel y sgrinluniau canlynol a ddangosir. A oes unrhyw driciau cyflym i ddelio â'r dasg hon?

Tynnwch enw ffeil o'r llwybr llawn gyda fformiwla yn Excel
Tynnwch enw ffeil o'r llwybr llawn gyda Swyddogaeth Diffiniedig Defnyddiwr
Tynnwch enw ffeil o'r llwybr llawn gyda chod VBA


Tynnwch enw ffeil o'r llwybr llawn gyda fformiwla yn Excel

Yn Excel, gallwch ddefnyddio'r fformiwla isod i dynnu enw ffeil yn unig o'r llwybr llawn yn gyflym.

Dewiswch gell wag, rhowch y fformiwla isod i mewn iddi ac yna pwyswch y Rhowch allweddol.

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

Awgrymiadau: A1 yw'r gell rydych chi am dynnu enw'r ffeil ohoni), a gwasgwch Enter botwm, yna llusgwch y handlen llenwi i lenwi'r ystod rydych chi ei eisiau. Ar ôl hynny, mae'r enw ffeil yn cael ei dynnu o bob cell.

doc dyfyniad enw1


Tynnwch enw ffeil o'r llwybr llawn gyda Swyddogaeth Diffiniedig Defnyddiwr

Gyda'r Swyddogaeth Diffiniedig Defnyddiwr ganlynol, gallwch gael enw'r ffeil yn hawdd ac yn gyflym.

1. Daliwch i lawr y ALT + F11 allweddi i agor y Ffenestr Microsoft Visual Basic for Applications.

2. Cliciwch Mewnosod > Modiwlau, a gludwch y cod canlynol yn y Ffenestr Modiwl.

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. Gwasgwch y Alt + Q allweddi i gau'r Microsoft Visual Basic ar gyfer Ceisiadau ffenestr ac ewch yn ôl i'r daflen waith. Mewn cell wag, B1 er enghraifft, rhowch y fformiwla isod i mewn iddi a gwasgwch y Rhowch allweddol.

=FunctionGetFileName(A1)

enwau doc-extract-file1

Yna dewiswch gell B1 eto, llusgwch yr handlen llenwi i'r ystod rydych chi am gymhwyso'r fformiwla hon, ac mae'r holl enwau ffeiliau wedi'u tynnu o'r llwybrau llawn fel canlyniad canlynol:

enwau doc-extract-file1


Tynnwch enw ffeil o'r llwybr llawn gyda chod VBA

Heblaw am y Swyddogaeth Diffiniedig Defnyddiwr, gall cod VBA hefyd eich helpu i echdynnu'r enwau ffeiliau. Gwnewch fel hyn:

1. Daliwch i lawr y ALT + F11 allweddi i agor y Ffenestr Microsoft Visual Basic for Applications.

2. Cliciwch Mewnosod > Modiwlau, a gludwch y cod canlynol yn y Ffenestr Modiwl.

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. Yna pwyswch F5 allwedd i redeg y cod hwn, a dewis yr ystod rydych chi am dynnu enw'r ffeil ohoni, gweler y screenshot:

enwau doc-extract-file1

4. Ac yna cliciwch OK, mae'r enwau ffeiliau wedi'u tynnu o'r detholiad fel a ganlyn:

Nodyn: Gyda'r cod VBA hwn, bydd y data gwreiddiol yn cael ei ddinistrio, felly dylech chi gopïo un cyn defnyddio'r cod hwn.


Yr Offer Cynhyrchedd Swyddfa Gorau

Mae Kutools for Excel yn Datrys y rhan fwyaf o'ch Problemau, ac yn Cynyddu Eich Cynhyrchedd 80%

  • Ailddefnyddio: Mewnosod yn gyflym fformwlâu cymhleth, siartiau ac unrhyw beth rydych chi wedi'i ddefnyddio o'r blaen; Amgryptio Celloedd gyda chyfrinair; Creu Rhestr Bostio ac anfon e-byst ...
  • Bar Fformiwla Gwych (golygu llinellau lluosog o destun a fformiwla yn hawdd); Cynllun Darllen (darllen a golygu nifer fawr o gelloedd yn hawdd); Gludo i'r Ystod Hidlo...
  • Uno Celloedd / Rhesi / Colofnau heb golli Data; Cynnwys Celloedd Hollt; Cyfuno Rhesi / Colofnau Dyblyg... Atal Celloedd Dyblyg; Cymharwch y Meysydd...
  • Dewiswch Dyblyg neu Unigryw Rhesi; Dewiswch Blank Rows (mae pob cell yn wag); Darganfyddiad Gwych a Darganfyddiad Niwlog mewn Llawer o Lyfrau Gwaith; Dewis ar Hap ...
  • Copi Union Celloedd Lluosog heb newid cyfeirnod fformiwla; Auto Creu Cyfeiriadau i Daflenni Lluosog; Mewnosod Bwledi, Blychau Gwirio a mwy ...
  • Testun Detholiad, Ychwanegu Testun, Tynnu yn ôl Swydd, Tynnwch y Gofod; Creu ac Argraffu Subtotals Paging; Trosi rhwng Cynnwys a Sylwadau Celloedd...
  • Hidlo Super (arbed a chymhwyso cynlluniau hidlo i ddalenni eraill); Trefnu Uwch yn ôl mis / wythnos / dydd, amlder a mwy; Hidlo Arbennig gan feiddgar, italig ...
  • Cyfuno Llyfrau Gwaith a Thaflenni Gwaith; Uno Tablau yn seiliedig ar golofnau allweddol; Rhannwch Ddata yn Daflenni Lluosog; Trosi Swp xls, xlsx a PDF...
  • Mwy na 300 o nodweddion pwerus. Yn cefnogi Swyddfa / Excel 2007-2019 a 365. Yn cefnogi pob iaith. Defnydd hawdd yn eich menter neu sefydliad. Nodweddion llawn treial am ddim 30 diwrnod. Gwarant arian yn ôl 60 diwrnod.
tab kte 201905

Mae Tab Office yn Dod â rhyngwyneb Tabbed i'r Swyddfa, a Gwneud Eich Gwaith yn Haws o lawer

  • Galluogi golygu a darllen tabbed yn Word, Excel, PowerPoint, Cyhoeddwr, Mynediad, Visio a Phrosiect.
  • Agor a chreu dogfennau lluosog mewn tabiau newydd o'r un ffenestr, yn hytrach nag mewn ffenestri newydd.
  • Yn cynyddu eich cynhyrchiant 50%, ac yn lleihau cannoedd o gliciau llygoden i chi bob dydd!
gwaelod officetab
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 · 4 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)