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

Hvordan vises alle mapper og undermapper i Excel?

Har du nogensinde lidt med dette problem, der viser alle mapper og undermapper fra en bestemt mappe til et regneark? I Excel er der ingen hurtig og praktisk måde at få navnet på alle mapperne i en bestemt mappe på én gang. For at håndtere opgaven kan denne artikel hjælpe dig.

Liste over alle mapper og undermapper med VBA-kode

Fanen Office Aktiver redigering og browsing med faner i Office, og gør dit arbejde meget lettere ...
Kutools til Excel løser de fleste af dine problemer og øger din produktivitet med 80%
  • Genbrug alt: Tilføj de mest anvendte eller komplekse formler, diagrammer og alt andet til dine favoritter, og genbrug dem hurtigt i fremtiden.
  • Mere end 20 tekstfunktioner: Uddrag nummer fra tekststreng; Uddrag eller fjern en del af teksterne; Konverter tal og valutaer til engelske ord.
  • Flet værktøjer: Flere arbejdsbøger og ark til én; Flet flere celler / rækker / kolonner uden at miste data; Flet duplikatrækker og sum.
  • Opdel værktøjer: Opdel data i flere ark baseret på værdi; Én projektmappe til flere Excel-, PDF- eller CSV-filer; En kolonne til flere kolonner.
  • Indsæt spring Skjulte / filtrerede rækker; Tæl og sum af baggrundsfarve; Send personaliserede e-mails til flere modtagere i bulk.
  • Superfilter: Opret avancerede filterskemaer og anvend dem på alle ark; Sort efter uge, dag, hyppighed og mere; filtre med fed, formler, kommentar ...
  • Mere end 300 kraftfulde funktioner; Arbejder med Office 2007-2021 og 365; Understøtter alle sprog; Nem implementering i din virksomhed eller organisation.

pil blå højre boble Liste over alle mapper og undermapper med VBA-kode

Hvis du vil hente alle mappenavnene fra en bestemt mappe, kan følgende VBA-kode hjælpe dig, gør venligst som dette:

1. Hold nede ALT + F11 tasterne, og det åbner Vinduet Microsoft Visual Basic til applikationer.

2. Klik indsatte > Moduler, og indsæt følgende kode i Modul vindue.

VBA-kode: Liste over alle mapper og undermappens navne

Sub FolderNames()
'Update 20141027
Application.ScreenUpdating = False
Dim xPath As String
Dim xWs As Worksheet
Dim fso As Object, j As Long, folder1 As Object
With Application.FileDialog(msoFileDialogFolderPicker)
    .Title = "Choose the folder"
    .Show
End With
On Error Resume Next
xPath = Application.FileDialog(msoFileDialogFolderPicker).SelectedItems(1) & "\"
Application.Workbooks.Add
Set xWs = Application.ActiveSheet
xWs.Cells(1, 1).Value = xPath
xWs.Cells(2, 1).Resize(1, 5).Value = Array("Path", "Dir", "Name", "Date Created", "Date Last Modified")
Set fso = CreateObject("Scripting.FileSystemObject")
Set folder1 = fso.getFolder(xPath)
getSubFolder folder1
xWs.Cells(2, 1).Resize(1, 5).Interior.Color = 65535
xWs.Cells(2, 1).Resize(1, 5).EntireColumn.AutoFit
Application.ScreenUpdating = True
End Sub
Sub getSubFolder(ByRef prntfld As Object)
Dim SubFolder As Object
Dim subfld As Object
Dim xRow As Long
For Each SubFolder In prntfld.SubFolders
    xRow = Range("A1").End(xlDown).Row + 1
    Cells(xRow, 1).Resize(1, 5).Value = Array(SubFolder.Path, Left(SubFolder.Path, InStrRev(SubFolder.Path, "\")), SubFolder.Name, SubFolder.DateCreated, SubFolder.DateLastModified)
Next SubFolder
For Each subfld In prntfld.SubFolders
    getSubFolder subfld
Next subfld
End Sub

3. Tryk derefter på F5 nøgle til at køre denne kode, og en Vælg mappen vindue vises, så skal du vælge den mappe, som du vil vise mappe- og undermappens navne, se skærmbillede:

doc-liste-mappe-navne-1

4. Klik OK, og du får stien til mappen og undermapper, bibliotek, navn, oprettet dato og sidst ændrede dato i en ny projektmappe, se skærmbillede:

doc-liste-mappe-navne-1


Relateret artikel:

Hvordan liste filer i et bibliotek til regneark i Excel?


De bedste Office-produktivitetsværktøjer

Kutools til Excel løser de fleste af dine problemer og øger din produktivitet med 80%

  • Genbruge: Indsæt hurtigt komplekse formler, diagrammer og alt, hvad du har brugt før; Krypter celler med adgangskode Opret postliste og send e-mails ...
  • Super formel bar (let redigere flere linjer med tekst og formel); Læsning Layout (let at læse og redigere et stort antal celler); Indsæt til filtreret rækkevidde...
  • Flet celler / rækker / kolonner uden at miste data; Split celler indhold; Kombiner duplikerede rækker / kolonner... Forhindre duplikerede celler; Sammenlign områder...
  • Vælg Duplicate eller Unique Rækker; Vælg tomme rækker (alle celler er tomme); Super Find og Fuzzy Find i mange arbejdsbøger; Tilfældig valg ...
  • Præcis kopi Flere celler uden at ændre formelreference; Auto Opret referencer til flere ark; Indsæt kugler, Afkrydsningsfelter og mere ...
  • Uddrag tekst, Tilføj tekst, Fjern efter position, Fjern mellemrum; Opret og udskriv personsøgningssubtotaler; Konverter mellem celler indhold og kommentarer...
  • Superfilter (gem og anvend filterskemaer på andre ark); Avanceret sortering efter måned / uge / dag, hyppighed og mere; Specielt filter af fed, kursiv ...
  • Kombiner arbejdsbøger og arbejdsark; Fletabeller baseret på nøglekolonner; Opdel data i flere ark; Batch Konverter xls, xlsx og PDF...
  • Mere end 300 kraftfulde funktioner. Understøtter Office / Excel 2007-2021 og 365. Understøtter alle sprog. Nem implementering i din virksomhed eller organisation. Fuld funktioner 30-dages gratis prøveperiode. 60 dages pengene tilbage garanti.
kte-fane 201905

Fanen Office bringer en grænseflade til et kontor med Office, og gør dit arbejde meget lettere

  • Aktiver redigering og læsning af faner i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
  • Åbn og opret flere dokumenter i nye faner i det samme vindue snarere end i nye vinduer.
  • Øger din produktivitet med 50 % og reducerer hundredvis af museklik for dig hver dag!
officetab bund
Sorter kommentarer efter
Kommentarer (18)
Ingen vurderinger endnu. Vær den første til at bedømme!
Denne kommentar blev minimeret af moderatoren på webstedet
Mange tak. Jeg brugte cmd-prompt til at have en txt med mine mapper og kopier den derefter til excel, men nu gør du det nemt for mig :)
Denne kommentar blev minimeret af moderatoren på webstedet
Hvad hvis jeg også skal oprette linket til mappen, hvad skal jeg ændre i kodningen, og vi kan ikke oprette knappen og linke den samme kodning til den, så det vil være nyttigt for brugere, der ikke ved, hvordan man kører makroer
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg gjorde præcis, hvad du bad om. Jeg placerede mit firmalogo på arket, så højreklikkede jeg på det og tildelte en makro (som er ovenstående kode.) Du kan også indsætte, hvordan man bruger brugervejledninger.
Denne kommentar blev minimeret af moderatoren på webstedet
Denne kode reddede virkelig dagen. Tak fordi du deler det.
Denne kommentar blev minimeret af moderatoren på webstedet
Hej, jeg har lige fulgt dine anvisninger, men jeg får fejl, når jeg trykker på F5 for at køre. Fejlen nedenfor fremhæver "Dim xWs As Worksheet". Er der en opdateret kode, jeg kan bruge? Kompileringsfejl: Brugerdefineret type ikke defineret
Denne kommentar blev minimeret af moderatoren på webstedet
[quote]Hej, jeg har lige fulgt dine anvisninger, men jeg får fejl, når jeg trykker på F5 for at køre. Fejlen nedenfor fremhæver "Dim xWs As Worksheet". Er der en opdateret kode, jeg kan bruge? Kompileringsfejl: Brugerdefineret type ikke defineretAf Caralyn[/quote] Bruger du Kutools-tilføjelsen eller MS Excel VBA-editoren? Da jeg ikke bruger tilføjelsen, kan jeg ikke kopiere din fejl. Brug af MS VBA Editor fungerer uden fejl.
Denne kommentar blev minimeret af moderatoren på webstedet
Når jeg kører denne kode virker den, men den viser kun den første mappe i siden af ​​den mappe, jeg vælger. For eksempel, når jeg kører koden, vælger jeg "C:\Users\Johnson\Music" (Bemærk: Jeg har 70 mapper inde i min musikmappe) Når koden kører, viser den kun den første mappe og viser derefter alle mapperne inde i den. folder. Jeg vil gerne have, at den viser alle mapperne inde i mappen Musik.
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg er sammen med de andre – det virker op til et punkt.

For mig er det punkt, at det opretter de nye s/s, detaljer om mappen, jeg har vist (i celler A1), en gul fremhævet bjælke i række 2 med overskrifterne efterfulgt af intet andet!

Mappen jeg kigger på er tom bortset fra undermapper (dvs. der findes ingen datafiler), og undermapperne vises slet ikke.

Kan nogen hjælpe mig med at liste undermapperne og deres filer?
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg har ændret det for at tilføje størrelse:



Undermappenavne()
'Opdatering 20141027
Application.ScreenUpdating = False
Dim xPath som streng
Dim xWs Som arbejdsark
Dim fso som objekt, j så længe, ​​mappe1 som objekt
Med Application.FileDialog(msoFileDialogFolderPicker)
.Title = "Vælg mappen"
.At vise
Slut med
On Error Resume Next
xPath = Application.FileDialog(msoFileDialogFolderPicker).SelectedItems(1) & "\"
Ansøgning.Arbejdsbøger.Tilføj
Indstil xWs = Application.ActiveSheet
xWs.Cells(1, 1).Værdi = xPath
xWs.Cells(2, 1).Resize(1, 6).Value = Array("Sti", "Dir", "Navn", "Dato oprettet", "Sidst ændret","Størrelse")
Sæt fso = CreateObject ("Scripting.FileSystemObject")
Indstil mappe1 = fso.getFolder(xPath)
getSubFolder mappe1
xWs.Cells(2, 1).Resize(1, 6).Interiør.Color = 65535
xWs.Cells(2, 1).Resize(1, 6).EntireColumn.AutoFit
Application.ScreenUpdating = True
End Sub
Sub getSubFolder(ByRef prntfld As Object)
Dim undermappe som objekt
Dæmp subfld som objekt
Dim xRow As Long
For hver undermappe I prntfld.SubFolders
xRow = Range("A1").End(xlDown).Række + 1
Cells(xRow, 1).Resize(1, 6).Value = Array(SubFolder.Path, Left(SubFolder.Path, InStrRev(SubFolder.Path, "\")), SubFolder.Name, SubFolder.DateCreated, SubFolder. DateLastModified, SubFolder.Size)
Næste undermappe
For hver subfld I prntfld.SubFolders
getSubFolder subfld
Næste underfld
End Sub
Denne kommentar blev minimeret af moderatoren på webstedet
Når du inkluderer funktionen SubFolder.Size, viser scriptet ikke længere alle undermapperne, kun det første niveau.
Hvordan kan jeg inkludere størrelsen og få vist alle undermapper?
Denne kommentar blev minimeret af moderatoren på webstedet
Hej. Kan du venligst hjælpe mig med en kode, som jeg har svært ved at finde.

Nedenfor er kravene til koden.



1. VBA'en skal gennemgå alle mapper og undermapper
og kontroller hver eneste filtype. Brugeren skal kun give stien til
den øverste mappe. Koden bør derefter kontrollere alle mapper og undermapper
i den øverste mappe.



2. Efter at have kontrolleret filerne, skal koden zippe alle filer
som ikke har været tilgået i mere end 3 måneder. Den tilgåede periode er
noget, som jeg burde kunne ændre i fremtiden, hvis det kræves. Det burde
tillad mig at ændre det til 1 måned eller 5 måneder, hvis det kræves.



3. Efter at have zippet filerne, skal koden slette
originale filer, der blev zippet.



4. Den zippede fil skal gemmes i samme sti som
original fil.
Denne kommentar blev minimeret af moderatoren på webstedet
Fantastisk værktøj! Efter lang research fandt dette præcise legetøj :)
Denne kommentar blev minimeret af moderatoren på webstedet
Lige hvad jeg havde brug for, og helt klare instruktioner om, hvordan man får det til at fungere. Mange tak
Denne kommentar blev minimeret af moderatoren på webstedet
Mange tak!, meget nyttigt.
Denne kommentar blev minimeret af moderatoren på webstedet
Det her virkede og hvordan... Mange tak. Bare en tilføjelse - ved trin 3 måtte jeg klikke på Trin ind og derefter kun F5-tasten arbejde for at vælge mappen.
Denne kommentar blev minimeret af moderatoren på webstedet
Mange tak for denne nyttige kode. er det muligt at gemme resultat i samme projektmappe, ikke til en ny?
Denne kommentar blev minimeret af moderatoren på webstedet
Tak, det er præcis, hvad vi havde brug for for at optage mapperne til vores kunder.
Denne kommentar blev minimeret af moderatoren på webstedet
Godt arbejde... Det er meget nyttigt for mig, mange tak
Der er endnu ingen kommentarer her
Efterlad dine kommentarer
Sender som gæst
×
Bedøm dette indlæg:
0   Tegn
Foreslåede steder

Følg os

Copyright © 2009 - www.extendoffice.com. | Alle rettigheder forbeholdes. Drevet af ExtendOffice. | | Sitemap
Microsoft og Office-logoet er varemærker eller registrerede varemærker tilhørende Microsoft Corporation i USA og / eller andre lande.
Beskyttet af Sectigo SSL