Avatar billede lisette Praktikant
02. oktober 2017 - 09:30 Der er 4 kommentarer

Excel 2016 VBA - hent data fra mange Excel-filer - crasher i Excel 2016

Hej

Jeg har i flere år haft en VBA kode der åbner omkring 50 Excel-filer og henter noget data som skrives i et samleark.

Jeg har før oplevet at Excel crasher midt I koden, men har kunnet løse det ved at sætte nogen msg-box'e på for hver 5. eller 10. fil - og så har det kørt nogenlunde.

Jeg oplever nu efter at vi er gået over til Excel 2016 at det crasher oftere end før. - er der nogen der har nogen gode tricks og ideer til, hvordan min kode bliver sundere og mere stabil??

Uddrag fra koden:

stSti = STI
stFile = Dir(stSti + "\*.xls")
Do While stFile <> ""
    arr(a) = stFile
    a = a + 1
    stFile = Dir$
Loop

ReDim Preserve arr(a)
QuickSort arr(), LBound(arr), UBound(arr)


'indsæt loop gennem filer

For b = 0 To a
    stFile = arr(b)
   
    'Tjek om filnavn indeholder "Projekttavle_8"
    If InStr(1, stFile, "Projekttavle_8") > 0 Then

        Set stWB = Workbooks.Open(Filename:=(stSti & "\" & stFile), ReadOnly:=True, UpdateLinks:=False)
        MsgBox "Åbner " & stFile
.....osv
Avatar billede Jan Hansen Ekspert
03. oktober 2017 - 16:12 #1
Vi må have mere kode, vide hvor den går ned, for at kunne hjælpe!!

evt upload et ark uden data men med kode til dropbox

Jan
Avatar billede lisette Praktikant
04. oktober 2017 - 06:06 #2
Hej Jan

Ja - det kan jeg godt forstå at du skriver, men jeg ved bare ikke, hvor i koden den crasher, da den ikke stopper med en debug - den skriver bare at "Excel has stopped working" og lukker ned.

Det er ikke samme sted den stopper koden - og ikke hver gang - og den kører ofte for mig, men ikke for kolleger.  Den kan sagtens køre fint og hente fx data fra 4 ark - og så pludselig crashe. Og som beskrevet så kan jeg forhindre den i at crashe ved blot at sætte msgbox på undervejs.

Så jeg ville egetlig blot have svar på, hvilken kode der er den mest stabile til at åbne og lukke så mange workbooks med :-)
Avatar billede bak Seniormester
07. oktober 2017 - 13:10 #3
Excel kan godt læse fra lukkede regneark enten via vba eller via Get&Transform (power query i 2013) fra Datamenuen.
Hvis alle filer ligger i samme folder og det er de samme celler der skal hentes burde det ikke være et større problem.
Get&Transform er bedst til hele tabeller.
Avatar billede lisette Praktikant
09. oktober 2017 - 12:58 #4
Tak bak - det ser meget interessant ud - det vil jeg kigge på. :-)
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

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