17. marts 2003 - 12:51Der er
5 kommentarer og 1 løsning
Tælle filtyper
Hej allesammen
Jeg skal bruge ne funktion, som kan tælle antal filer, gerne delt op efter filtype, i excel 2000. Arket skal fx. kunne vise at der i en angivet mappe, findes 8 filer af typen .txt og 3 af typen .doc. Det drejer sig ikke om mange forskellige filtyper, højst 3-4 stk.
Det er lidt svært at forklare, så jeg giver lige et eksempel på hvordan jeg gerne vil have det til at virke:
Jeg skriver "rapporter" og i efterfølgende celle angiver jeg mappen hvor der skal søges. Excel skriver selv "8". Underneden skriver jeg "diverse" og i efterfølgende celle søges der efter samme mappe, og excel skriver selv "3".
Det er vigtigt at det kun er den valgte mappe der tælles filer i, og ikke undermapper.
Jeg har en ide om at det er en macrofunktion, hvor der søges efter antallet af filtyper.
Jeg er rimelig god til Excel, men har ingen erfaring med databaser eller VBA.
Det kan godt være at det slet ikke kan lade sig gøre, men jeg håber stadig.
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
Slettet bruger
17. marts 2003 - 13:19#1
Fandt dette under hjælp - FileTypes Collection.Måske kan det hjælpe dig. Makroen tæller antal af filtyper i den angivne mappe, og giver efterfølgende navnene på filerne. Men det sker i en msgbox og ikke i excel cellen. Håber du selv kan fikse dette.
Sub SearchForFiles()
'Declare a variable to act as a generic counter Dim lngCount As Long
'Use a With...End With block to reference the 'FileSearch object With Application.FileSearch
'Clear all the parameters of the previous searches. 'This method doesn't clear the LookIn property or 'the SearchFolders collection. .NewSearch
'Setting the FileType property clears the 'FileTypes collection and sets the first 'item in the collection to the file type 'defined by the FileType property. .FileType = msoFileTypeWebPages
'Add a second item to the FileTypes collection .FileTypes.Add msoFileTypeExcelWorkbooks
'Display the number of FileTypes in the collection. MsgBox "You are about to search for " & .FileTypes.Count & _ " file types."
'Set up the search to look in all subfolders on the C:\ drive. .LookIn = "C:\" .SearchSubFolders = True
'Execute the search and test to see if any files 'were found. If .Execute <> 0 Then
'Display the number of files found. MsgBox "Files found: " & .FoundFiles.Count
'Loop through the list of found files and 'display the path of each one in a message box. For lngCount = 1 To .FoundFiles.Count If MsgBox(.FoundFiles.Item(lngCount), vbOKCancel, _ "Found files") = vbCancel Then
'Break out of the loop lngCount = .FoundFiles.Count
End If Next lngCount Else MsgBox "No files found." End If End With End Sub
denne funktion returnerer antallet af filer i den folder du og af den filtype du specificerer. ex =rapporter("C:\dokumenter"; "*.xls")
Function Rapporter(Folder, FileType) Dim r As Long Dim myname r = 0 myname = Dir(Folder & "\" & FileType) Do While myname <> "" myname = Dir r = r + 1 Loop Rapporter = r End Function
Hvis du vil udforme din kommentar, så vil jeg med glæde give dig pointene... Denne løsning er lige nøjagtig som jeg havde tænkt mig, takker mange gange...
Til hov-sa Om dit forslag virker, det ved jeg ikke, men jeg kunne ikke få det til det, men jeg somsagt heller ingen erfaring med det.
Ja, umiddelbart kan du gøre een af to ting uden at ændre meget. Du kan fremtvinge en beregning ved at trykke CTRL-ALT-F9 eller sætte følgende linie ind i funktionen under DIM sætningerne application.Volatile=True mennnn, det første er svært at huske og det andet fremtvinger en genberegning hver gang arket genbegnes.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.