Avatar billede zamorano Nybegynder
17. marts 2003 - 12:51 Der 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.

Håber på et hurtigt svar!

Lars Munkeskov
Avatar billede 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
Avatar billede bak Forsker
17. marts 2003 - 14:22 #2
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
Avatar billede zamorano Nybegynder
17. marts 2003 - 14:45 #3
Til bak

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.
Avatar billede bak Forsker
17. marts 2003 - 15:03 #4
Glæder mig at det kan bruges :-)
Avatar billede zamorano Nybegynder
17. marts 2003 - 15:21 #5
Til bak

Hvis det er muligt, kan der så indarbejdes en opdateringsfunktion?
Således at hvis antallet af filer ændres, ændres tallet når arket åbnes igen?
Avatar billede bak Forsker
17. marts 2003 - 15:47 #6
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.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester