Avatar billede tvc Seniormester
27. november 2009 - 10:36 Der er 1 løsning

Optimering af VBA til åbning af filer

Hej

Jeg har følgende sub til åbning, opdatering og lukning af 40 filer:

Dim xlsHome, c As Range

Sub HentDataX()

'Slå skærm og msg fra
    Application.DisplayAlerts = False
    Application.ScreenUpdating = False
   
'Efterregn workbook
    xlsHome = ActiveWorkbook.Name
   
        Workbooks(xlsHome).Application.Calculate
     
'Hent sti og filtype
    Sti = Range("Sti")
    Filtype = Range("Filtype")
         
'Åben xls-filer

For Each c In Range("Filnavne").Cells

    If c.Value <> Empty Then Workbooks.Open Filename:=Sti + c.Value + "." + Filtype, ReadOnly:=True, IgnoreReadOnlyRecommended:=True
   
Next c
     
'Efterregn xlsHome-workbook og sæt til manuelberegning
    Workbooks(xlsHome).Application.Calculate
         
    Workbooks(xlsHome).Application.Calculation = xlCalculationManual
   
'Aktiver xlsHome-workbook
    Workbooks(xlsHome).Activate


'Luk filer

For Each c In Range("Filnavne").Cells

If c.Value <> Empty Then Workbooks(c.Value + "." + Filtype).Close SaveChanges:=False
   
Next c


'Slå opdatering af skærm og msg til
    Application.DisplayAlerts = True

    Application.ScreenUpdating = True

End Sub


Mit problem er, at det kører meget langsomt, og jeg får en message box op, hvori der står "opening....stinavn+filnavn".

Ligeledes kan jeg se de 40 filer blive åbnet i taskbar'en.

Er der en løsning på ikke at få vist filerne i taskbar'en, der åbnes og messageboxen?
Avatar billede tvc Seniormester
30. november 2009 - 23:41 #1
Lukker - har arbejdet videre og prøver en anden løsning.
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