Avatar billede driflin Nybegynder
11. december 2009 - 18:02 Der er 11 kommentarer og
1 løsning

Tælle antal workbooks i en mappe (VBA)

Hej

Håber nogen kan hjælpe med det her:

Jeg sidder i VBA og skal bruge en kode der kan tælle hvor mange workbooks der ligger i en mappe. Har fundet på diverse forums at man kan bruge FileSearch - men den funktion findes åbenbart ikke i den danske udgave af Excel2007?

Er der andre forslag til hvordan jeg kan tælle hvor mange workbooks der er?

Vh.
driflin
Avatar billede store-morten Ekspert
11. december 2009 - 19:53 #1
Hej

Har fundet denne:
(Afprøvet i  Excel-2003)
Bemærk: Range("A1:A1000").ClearContents
Forbereder til liste
Antal i B1.

Sub filliste()
    Dim FS As FileSearch
    Dim FilePath As String, FileSpec As String
    Dim i As Long, t As Integer
    Dim v As Variant
    Dim rTarget As Range
    Dim ToSheet As Worksheet
    '******************************
    FilePath = ThisWorkbook.Path
    FileSpec = "*.xls"
    Set ToSheet = ThisWorkbook.Worksheets("ark1")
    '******************************
    'find excel filerne
    Set FS = Application.FileSearch
    With FS
        .LookIn = FilePath
        .Filename = FileSpec
        .SearchSubFolders = False          'skal underfoldere også søges
        .Execute
        If .FoundFiles.count = 0 Then
            MsgBox ("Ingen filer fundet")
            Exit Sub
        End If
    End With
    Range("A1:A1000").ClearContents
    Range("A1") = "antal filer:"
    Range("B1") = FS.FoundFiles.count
    For i = 1 To FS.FoundFiles.count
        For t = 1 To Len(FS.FoundFiles(i))
            If Mid(FS.FoundFiles(i), t, 1) = "\" Then sidst = t
        Next t
        ToSheet.Range("A1").Offset(i, 0) = Mid(FS.FoundFiles(i), sidst + 1, Len(FS.FoundFiles(i)) - sidst)
    Next i
End Sub

Lavet af: jlemming d. 29. november 2007
http://www.eksperten.dk/spm/808097

mvh
  Morten
Avatar billede driflin Nybegynder
12. december 2009 - 01:58 #2
Hej
Som beskrevet findes filesearch desværre ikke i Excel 2007, og din løsning kan derfor ikke bruges... :(
Avatar billede excelent Ekspert
12. december 2009 - 09:04 #3
Sub TælXLS()
sti = "C:\Users\pm\Desktop\" ' ret til aktuel sti
fil = Dir(sti & "*.xls")
Do While fil <> ""
  tal = tal + 1
  fil = Dir()
Loop
MsgBox tal
End Sub
Avatar billede store-morten Ekspert
12. december 2009 - 13:52 #4
Ups!!! min fejl.

excelent´s løsning med en lille tilføjelse.

Sub TælXLS()
sti = ThisWorkbook.Path & "\"    'denne mappe
fil = Dir(sti & "*.xls")
Do While fil <> ""
  tal = tal + 1
  fil = Dir()
Loop
Range("A1") = "Antal filer: " & tal    'resulstat skrives
MsgBox tal
End Sub
Avatar billede driflin Nybegynder
12. december 2009 - 14:11 #5
Tak mange gange til Jer begge. Brugte excelents løsning som virker perfekt!
Avatar billede excelent Ekspert
12. december 2009 - 15:21 #6
ok velbekom
Avatar billede store-morten Ekspert
12. december 2009 - 15:51 #7
ok velbekomme
Avatar billede mercu Nybegynder
13. december 2009 - 16:02 #8
Jeg har behov for næsten at gøre det samme.

Men vil gerne lægge workbook navene ind i et array, hvordan gøres dette?
Avatar billede excelent Ekspert
13. december 2009 - 18:52 #9
Ja jeg har også set dit spørgsmål, og lavet en løsning
Men hvis du kikker på dine gamle spørgsmål, så kan du nok regne ud hvorfor jeg ikke spilder tid på dig
Avatar billede mercu Nybegynder
13. december 2009 - 19:30 #10
Har jeg ikke givet point?
Avatar billede excelent Ekspert
13. december 2009 - 20:15 #11
Nej så længe prikkerne ikke er grønne, er spørgsmål ikke afsluttet

men kan se du  er på rette vej, så du får lige en stump kode
som indsætter projektnavne i kolonne A
samt indsættes i Variablen Projektmapper()
Ret sti til aktuel
Hvis der er flere end 100 filer, så forhøj Dim 100 til aktuel

Sub ListXLS()
Dim Projektmapper(100)
sti = "C:\Users\pm\Desktop\*.xls"
fil = Dir(sti)
Do While fil <> ""
  Projektmapper(tal) = fil
  Cells(tal + 1, 1) = Projektmapper(tal)
  tal = tal + 1
  fil = Dir
Loop
End Sub
Avatar billede store-morten Ekspert
13. december 2009 - 23:53 #12
Fandt lige:

BST Utilities --> Filer og Mapper --> Filnavne Scanner.
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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