Avatar billede folj Forsker
04. januar 2018 - 14:12 Der er 7 kommentarer og
1 løsning

Excelfil med VBA der crasher

Hej eksperter !

Jeg har en excelfil som brugers dagligt af forskellige brugere.

Sådan opleves det når den crasher...
Hver dag når filen åbnes første gang, så spørger VBA-proceduren allerede under åbning af filen efter 3 bruger-input om råvarebeholdninger, men indimellem så crasher filer allerede her ved åbning. De 3 bruger-input bliver skrevet ind i de tilhørede sheets, men når vba-proceduren 'Workbook_Open' der afvikles ved åbning af filen, så kan den ikke afvikle linjen
AntalSheets = Sheets().Count
fordi der ikke er nogen worksheets at tælle  i workbook'en.
Jeg kan gå til vba-editor i debug-mode, men det er ikke muligt at skifte til worksheets, for de er forsvundet.

Det har jeg selvkontrolleret og gjort...
Hver dag når filen åbnes første gang, så spørges brugeren efter de 3 forskellige input for at kontrollere nogle råvarebeholdninger.  Dette har tidligere været baseret på en UserForm.

Efter filen begyndte at crashe indimellem tog jeg konsekvensen og byggere min vba-procedure om så der i stedet for at bruge en UserForm, nu benytter 3 input-bokse, der er meget mere simple i sin opbygning.

Jeg husker fra år tilbage (måske 10 år) at der var en kendt fejl som knyttede sig til UserForms.
Det var en fejl som var beskrevet af Microsoft, men Microsoft havde ikke løst fejlen (kun beskrevet den).

Derfor fjernede jeg filens UserForm, i håb om at den nu blev mere driftsikker. Men filer crasher stadig (periodisk)

Jeg har selvfølgelig tænkt at det må være noget i min  vba-procedur 'Workbook_Open', men jeg kan også konstatere at den sidste procedure der kaldes herfra er en procedure der tager en daglig back-up ved at køre en SaveCopyAs i en separat mappe, og når jeg  genskaber min fil ud fra denne daglige kopi, så kan jeg konstatere at alt den indeholder de sheets med brugerens input om råvarebeholdninger.

Herefter har jeg ikke noget kode der kan ødelægge noget: afslufningen på en if-sætning og andet uskyldigt.
  MakeBackUp ' kalder procedure der tager den daglige back-up, hvis den ikke allerede er taget
Else
  MsgBox "Filen er ikke på sin std-placering - det må være en BackUp-fil" '& Chr(10) & "sammenligner: " & Chr(10) & Right(ThisWorkbook.Path, 75) & Chr(10) & "med: " & Chr(10) & Right(STDMAPPE, 75)
End If
  Sheets(3).Select

End Sub


Hvad så...
Er der andre grunde til at en excelfil kan crashe i åbningssituationen?
Hvad her I kendskab til?


Alle svar og spørgsmål er velkomne.
Gætterier og måske'er har jeg selv.
Avatar billede supertekst Ekspert
04. januar 2018 - 18:13 #1
Hej

Optræder der også fejl hvis du ændre
fra: antalSheets = Sheets.Count

til: antalSheets = Activeworkbook.Sheets.Count
Avatar billede folj Forsker
05. januar 2018 - 10:08 #2
@Supertekst:
Eftersom jeg har stor respect for dine svar, så har jeg rettet min
Sheets().Count

til
Activeworkbook.Sheets.Count

men jeg har nu min tvivl på at det gør en forskel (med tanke på at det ikke er et crash jeg blot kan fremprovokere, men noget der opstår perioisik.

Nu må vi se om den crasher igen, og hvis den kan køre i ugevis uden crash, så har vi fået en forbedring, og så skal du nok få credit for dit svar.
Avatar billede supertekst Ekspert
05. januar 2018 - 10:18 #3
Det er OK!
Avatar billede folj Forsker
19. januar 2018 - 09:16 #4
@Supertekst:

Jeg var meget skeptisk over for dit ofrslag, og om det virkelig skulle gøre en forskel.

Men efter 14 dages testperiode, hvor Excelfilen ikke er crashet (målt imod tidligere hvor der skete mindst ét crash hver uge) så må jeg erkende at det nok var det
[divActiveworkbook.Sheets.Count[/div]]der gjorde forskellen.

Derfor har jeg accepteret dit forslag som løsningen.
Avatar billede supertekst Ekspert
19. januar 2018 - 09:21 #5
Tak :-)
Avatar billede supertekst Ekspert
19. januar 2018 - 09:23 #6
Men - det er jo dig selv du giver accept
Avatar billede folj Forsker
19. januar 2018 - 10:01 #7
Ja det har du ret I...
Og jeg siger tak for din indsats og for dine guldkorn.
Avatar billede folj Forsker
02. februar 2018 - 10:31 #8
Og nu må jeg så konstatere at filen igen crasher for brugerne.

Jeg har forsøgt med hjælp fra de andre brugere, at køre den daglige procedure mere end 25 gange, men det er ikke lykkedes at fremprovokere fejlen.

En af de brugere mener at fejlen optræder når hun åbner filen med er link fra det word-document med planen for  de  daglige rutiner, der udføres hver morgen.

Jeg har kontrolleret at det er en rigtig Excel-version der åbnes når den åbner fra word, og det ser med mine øjne rigtigt ud.

Mit spørgsmål:
Har jeg ikke ret i min påstand når jeg påstår, at fejlen ikke kan påvirkes af at excel-filen åbnes fra dette link i et word-document?
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