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

Hur byter jag namn på flera filer i en mapp i Excel?

Det kan hända att de flesta av oss drabbas av detta problem att vi behöver byta namn på flera filer i en mapp, för att byta namn på filnamnen en efter en kommer att göra oss galna om det finns hundratals eller tusentals filer i den mappen. Finns det några bra funktioner för oss att hantera denna uppgift?

Lista alla filnamn från en viss mapp i kalkylbladet med kutools för Excel

Byt namn på flera filer i en mapp i Excel med VBA-kod


Om det finns flera filer som du vill byta namn på, kan du först lista de gamla filnamnen i en kolumn i kalkylbladet och sedan ange de nya filnamnen som du vill ersätta med. För att snabbt lista alla filer i kalkylbladet kan du använda Kutools för ExcelÄr Lista över filnamn verktyg.

När du har installerat Kutools för Excel, gör så här :( Gratis nedladdning Kutools för Excel nu )

1. Klicka Kutools Plus > Import Export > Lista över filnamn, se skärmdump:

2. I Lista över filnamn dialogrutan, klicka doc-byt namn på flera filer-1 för att välja den filmapp som du vill lista filerna och klicka sedan på Alla filer från Filtyp, se skärmdump:

doc-byt namn på flera filer-1

3. Klicka sedan OK knappen, har alla filnamn listats i en kolumn i ett nytt kalkylblad, liksom vissa filattribut, och nu kan du radera andra oönskade kolumner och bara lämna FILNAMN kolumn, se skärmdump:

doc-byt namn på flera filer-1

Klicka för att veta mer om den här filnamnslistan ...

Gratis nedladdning Kutools för Excel nu


Efter att ha listat alla ursprungliga filnamn i en kolumn A, och du ska skriva nya filnamn i kolumn B som följande skärmdump visas:

doc-byt namn på flera filer-1

Och här kommer jag att prata om en VBA-kod som kan hjälpa dig att ersätta de gamla filnamnen med de nya filnamnen på en gång. Gör så här:

1. Håll ner ALT + F11 knapparna och det öppnar Microsoft Visual Basic för applikationsfönster.

2. Klicka Insert > Modulernaoch klistra in följande makro i Modulfönster.

VBA-kod: Byt namn på flera filer i en mapp

Sub RenameFiles()
'Updateby20141124
Dim xDir As String
Dim xFile As String
Dim xRow As Long
With Application.FileDialog(msoFileDialogFolderPicker)
    .AllowMultiSelect = False
If .Show = -1 Then
    xDir = .SelectedItems(1)
    xFile = Dir(xDir & Application.PathSeparator & "*")
    Do Until xFile = ""
        xRow = 0
        On Error Resume Next
        xRow = Application.Match(xFile, Range("A:A"), 0)
        If xRow > 0 Then
            Name xDir & Application.PathSeparator & xFile As _
            xDir & Application.PathSeparator & Cells(xRow, "B").Value
        End If
        xFile = Dir
    Loop
End If
End With
End Sub

3. När du har klistrat in koden, tryck F5 för att köra den här koden och i Bläddra välj den mapp som du vill ändra filnamnen i, se skärmdump:

doc-byt namn på flera filer-1

4. Och klicka sedan på OK, har alla gamla filnamn ersatts med de nya filnamnen omedelbart. Se skärmdumpar:

doc-byt namn på flera filer-1 2 doc-byt namn på flera filer-1

Anmärkningar:

1. När du listar dina gamla och nya filnamn måste filtillägget inkluderas.

2. I ovanstående kod, referensen A: A anger den gamla filnamnlistan som du vill byta namn på och referens B innehåller de nya filnamnen som du vill använda kan du ändra dem efter behov


Kutools för Excel: med mer än 300 praktiska Excel-tillägg, gratis att prova utan begränsning på 30 dagar. Ladda ner och testa gratis nu!

Relaterade artiklar:

Hur skapar jag sekvensarbetsblad från ett antal celler i Excel?

Hur byter jag namn på flera kalkylblad i Excel?


De bästa Office-produktivitetsverktygen

Kutools för Excel löser de flesta av dina problem och ökar din produktivitet med 80%

  • återanvändning: Sätt snabbt i komplexa formler, diagram och allt som du har använt tidigare; Kryptera celler med lösenord; Skapa e-postlista och skicka e-post ...
  • Super Formula Bar (enkelt redigera flera rader med text och formel); Läslayout (enkelt läsa och redigera ett stort antal celler); Klistra in i filtrerat intervall...
  • Sammanfoga celler / rader / kolumner utan att förlora data; Delat cellinnehåll; Kombinera duplicerade rader / kolumner... Förhindra duplicerade celler; Jämför intervall...
  • Välj Duplicera eller Unikt Rader; Välj tomma rader (alla celler är tomma); Super Find och Fuzzy Find i många arbetsböcker; Slumpmässigt val ...
  • Exakt kopia Flera celler utan att ändra formelreferens; Skapa referenser automatiskt till flera ark; Sätt in kulor, Kryssrutor och mer ...
  • Extrahera text, Lägg till text, ta bort efter position, Ta bort mellanslag; Skapa och skriva ut personsökningstalsatser; Konvertera mellan celler innehåll och kommentarer...
  • Superfilter (spara och tillämpa filterscheman på andra ark); Avancerad sortering efter månad / vecka / dag, frekvens och mer; Specialfilter av fet, kursiv ...
  • Kombinera arbetsböcker och arbetsblad; Sammanfoga tabeller baserat på nyckelkolumner; Dela data i flera ark; Batchkonvertera xls, xlsx och PDF...
  • Mer än 300 kraftfulla funktioner. Stöder Office / Excel 2007-2021 och 365. Stöder alla språk. Enkel implementering i ditt företag eller organisation. Fullständiga funktioner 30 dagars gratis provperiod. 60 dagars pengarna tillbaka-garanti.
kte-flik 201905

Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare

  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!
officetab botten
Sortera kommentarer efter
Kommentarer (36)
Inga betyg än. Bli först med att betygsätta!
Denna kommentar minimerades av moderatoren på webbplatsen
Bästa alla, Hur kan jag ändra MAPPAR på samma sätt som visas ovan? Kan du vänligen hjälpa mig med detta problem? Frågan är: Hur byter man namn på flera MAPPAR i en mapp i Excel? Vänliga Hälsningar!
Denna kommentar minimerades av moderatoren på webbplatsen
Vad behöver jag ändra i koden ovan om mina gamla och nya namn inte startar förrän på rad 11. Jag ändrade den här raden "xRow = Application.Match(xFile, Range("C11:C5000"), 0)" men det fungerade inte.
Denna kommentar minimerades av moderatoren på webbplatsen
Strunt i, jag kom på det. Tack. " xRow = Application.Match(xFile, Range("C:C"), 11)"
Denna kommentar minimerades av moderatoren på webbplatsen
Hur man byter namn på filer som innehåller kinesiska tecken i namnet. Snälla hjälp med det
Denna kommentar minimerades av moderatoren på webbplatsen
Förvånad (lite) att se någon använda samma syntax för att namnge vars (xDir, till exempel). Det tillåter exceptionellt väl namngivna vars som inte står i konflikt med systemnamn (t.ex. Dir eller Date). Jag använder också 'z' för globala funktioner (t.ex. zMsg, som returnerar sant eller falskt istället för vbOK eller vbCancel) och 'y' för konstanter (t.ex. yCR för vbNewline och yCR2 för två av dem). Bra jobbat och bra tänkande från din sida. Du måste vara väldigt smart!
Denna kommentar minimerades av moderatoren på webbplatsen
Är det möjligt att bara byta namn på en del av ett filnamn utan att ange hela filnamnet och filtillägget i excel-arket? dvs ändra 123-yz.jpg till abc-yz.jpg men jag vet bara att 123 behöver ändras till abc på varje bild i mappen?
Denna kommentar minimerades av moderatoren på webbplatsen
Jag använde framgångsrikt ovanstående instruktioner förra året för att byta namn på filer i ett halvdussin mappar. Det fungerade så bra att jag sparade instruktionerna för framtida bruk. Jag har nyligen försökt använda det igen, men efter att ha klistrat in makrot ovan i modulfönstret när jag tryckte på F5 istället för att få ett webbläsarfönster för att välja önskad mapp, får jag en ny dialogruta som uppmanar mig att ange ett makronamn. Några förslag? Jag brukar ha ungefär 3-4 gånger om året där jag behöver byta namn på filer på det här sättet, och jag var väldigt exalterad när det fungerade förra året.
Denna kommentar minimerades av moderatoren på webbplatsen
Hej, jag har mer än 100 excel-filer som jag har laddat ner från ett system och förvarat i mappen. Alla dessa filer har ett ark som heter som Innehåll. Jag vill att dessa excel-filer ska namnges med hjälp av texten som finns tillgänglig i cell AA2 för respektive Innehåll ark. Så att namnet i denna cell AA2 blir exakt filnamnet för respektive Excel-fil. alla filer i mappen bör bytas namn på samma sätt. Föreslå ett makro som kan fungera på detta sätt.
Denna kommentar minimerades av moderatoren på webbplatsen
Hej. Är din uppgift redan löst. ? Jag kan hjälpa till om det fortfarande är olöst. Vänligen maila mig din uppgift. Tx Franz
Denna kommentar minimerades av moderatoren på webbplatsen
Tack så mycket herre, Gud välsigne dig!
Denna kommentar minimerades av moderatoren på webbplatsen
Bästa alla, Prova KrojamSoft BatchRename för att byta namn på filerna är mycket lätt att använda.
Denna kommentar minimerades av moderatoren på webbplatsen
Jag provade det för excel, det ändrar filtyp. Kan du ge mig kod för att byta namn på csv-filer.
Denna kommentar minimerades av moderatoren på webbplatsen
Jag föreslår att du provar KrojamSoft BatchRename
Denna kommentar minimerades av moderatoren på webbplatsen
jag vill göra en kombination av bilder till exempel jag har 33 bilder och jag vill skapa en kombination av bilder med varandra, vänligen se bifogat jag har 10000 1 fler bilder så att jag kan skapa med ett klick av flera bilder. ring eller maila gärna på caparnasingla@gmail.com
Denna kommentar minimerades av moderatoren på webbplatsen
hej, fantastiska koder, har sparat min jäkla massa tid.. tack så mycket..
Denna kommentar minimerades av moderatoren på webbplatsen
För att byta namn på flera filer kan du också kontrollera en programvara. Sök på google- BatchRenameFiles Tool. Kontrollera det första sökresultatet.


Tack
Jonathan F.
Denna kommentar minimerades av moderatoren på webbplatsen
Detta är ett spel som förändras. Tack så mycket!!!
Denna kommentar minimerades av moderatoren på webbplatsen
Jag skulle vilja byta namn på flera filer från mappar och undermappar. Så jag tror att en VBA-kod där tittar på sökvägen som finns i kolumnen "Innehåller mapp" (jag kryssar i kryssrutan "Inkludera filer i underkataloger") Jag är inte i närheten av tillräckligt bra för att koda VBA, men jag tittar och försöker förstå . Tack
Denna kommentar minimerades av moderatoren på webbplatsen
Jag kan inte förstå med intervall (A:A) eller (B) hur man definierar det, tack
Denna kommentar minimerades av moderatoren på webbplatsen
Hej Dee,

Som noteringen påminner, anger referensen A:A de gamla filnamnslistan du vill byta namn på, och referens B innehåller de nya filnamnen som du vill använda
, som följande skärmdump visas:

Hoppas detta kan hjälpa dig, tack!
Denna kommentar minimerades av moderatoren på webbplatsen
Jag följer samma process men kunde inte döpa om filen som jag också ändrar ("A:A") och ("B"). Finns det någon annan värde som jag behöver ändra i koden
Denna kommentar minimerades av moderatoren på webbplatsen
Hej, några av filerna har samma namn. Skript hoppar över dessa filer. Finns det något sätt att ändra skriptet så att det lägger till ett nummer 1, 2, 3 och så vidare för varje dubblettnamn?
Denna kommentar minimerades av moderatoren på webbplatsen
Hej Kay,
För att byta namn på filerna baserat på dubbletter av nya namn med namn-1, namn-2, kan följande VBA-kod hjälpa dig, försök det.

Obs: Efter att ha klistrat in den här koden bör du referera till alternativet Microsoft Scripting Runtime i dialogrutan References-VBAProject enligt skärmbilden nedan.

Sub RenameFiles()
Dim xDir As String
Dim xFile As String
Dim xVal As String
Dim xRow As Long
Dim xCount As Long
Dim xTemp As Long
Dim xDictionary Som ny ordbok
Application.ScreenUpdating = False
On Error Resume Next
Med Application.FileDialog(msoFileDialogFolderPicker)
.AllowMultiSelect = Falskt
Om .Show = -1 Då
xDir = .SelectedItems(1)
xFile = Dir(xDir & Application.PathSeparator & "*")
Gör tills xFile = ""
xRad = 0
xRow = Application.Match(xFile, Range("A:A"), 0)
Om xRow > 0 Då
xCount = 0
xVal = Cells(xRow, "B").Value
Om inte xDictionary.Exists(xVal) Då
xDictionary.Add xVal, xCount
annars
xDictionary.Item(xVal) = xDictionary.Item(xVal) + 1
xTemp = InStrRev(xVal, "."")
Cells(xRow, "B").Value = Mid(xVal, 1, xTemp - 1) & "-" & CStr(xDictionary.Item(xVal)) & Mid(xVal, xTemp)
End If
Namn xDir & Application.PathSeparator & xFile As _
xDir & Application.PathSeparator & Cells(xRow, "B").Value
End If
xFile = Dir
loop
End If
Sluta med
Application.ScreenUpdating = True
End Sub
Det finns inga kommentarer här ännu
Ladda fler
Lämna dina kommentarer
Postar som gäst
×
Betygsätt detta inlägg:
0   Tecken
Föreslagna platser

Följ oss

Copyright © 2009 - www.extendoffice.com. | Alla rättigheter förbehållna. Drivs av ExtendOffice. | | Sitemap
Microsoft och Office-logotypen är varumärken eller registrerade varumärken som tillhör Microsoft Corporation i USA och / eller andra länder.
Skyddad av Sectigo SSL