Avatar billede visto Professor
10. februar 2023 - 11:03 Der er 13 kommentarer og
1 løsning

VBA fejl i Excel 2013 men ikke i Excel 365

I eksempelfilen (link længere nede), får jeg i Excel 2013 følgende fejlmeddelelse, når jeg vælger diagramfanen "Lager DIAGRAM":

Run-time error '-2147417848 (80010108)':
Method 'Clear' of object 'SortFields' failed

Når jeg derefter trykker på Debug-knappen, er
.SortFields.Clear
gulmarkeret i modulvinduet.

Personen, der har lavet koderne, og som bruger Excel 365, får ikke fejlen og kan derfor ikke hjælpe.

Kan nogen hjælpe med at finde ud af, hvordan jeg kommer af med fejlen?

https://www.dropbox.com/scl/fi/4z45617dgf2ohfge7sb56/Test.xlsm?dl=0&rlkey=97n00kwhc1x0ietxkwqix2c0k

Til orientering, hvis der er brug for at vide, hvordan fanerne hænger sammen: "Lager DIAGRAM" får data fra "Lageroversigt", som igen får data fra "Data1", "Data2" og "Data3". "Forhandleroversigt" har ikke noget med de andre faner at gøre.
Avatar billede kulawig Professor
10. februar 2023 - 11:54 #1
Avatar billede visto Professor
10. februar 2023 - 12:04 #2
Tak for svar.
Jeg har ikke forstand på VBA-koder, kan kun bruge dem, som jeg andre forsyner mig med. Så jeg kan ikke ud af svaret i det link, du har sendt, forstå, hvad jeg skal rette i koden i mit test-ark.
Kan du - eller en anden - hjælpe med det?
Avatar billede ebea Ekspert
10. februar 2023 - 12:45 #3
Prøv som udgangspunkt, at sætte en apostrof foran linjen.
'.SortFields.Clear

Og se om det er relateret til det ene punkt, eller der kommer en ny fejl.
Har ikke Excel 2013, så kan ikke teste specifikt i den version.
Avatar billede Jan Hansen Ekspert
10. februar 2023 - 13:17 #4
Prøv om denne løsning virker
kan ikke lave det automatisk da den går i loop

https://www.dropbox.com/scl/fi/1iohfs0bc9fsm7colrosf/Test.xlsm?dl=0&rlkey=t7kksgpf3u3xw10z4o81anjnz

Jan
Avatar billede visto Professor
10. februar 2023 - 15:49 #5
#3
Når jeg indsætter apostrofen, som du har foreslået, virker arket sådan set som det skal (diagrammet opdateres korrekt, hvis data i en af Data1, Data2, Data3 fanerne ændres). Men når jeg så, efter at have gemt filen, genåbner filen, får jeg beskeden:
"Vi fandt et problem i noget af indholdet i 'Test.xlsm'. Skal vi prøve at gendanne mest muligt?"
Når jeg siger ja til det, åbner filen normalt, og der er ikke ændret noget i koderne. Skriften i linjen '.SortFields.Clear er markeret med grøn. Filen virker stadig som den skal. Hvis jeg gemmer og genåbner igen, gentager det beskrevne reparationsforløb sig.
Men måske er det vigtigt at notere sig, at apostroffen får koderne til at virke.

#4
Ved udskiftning af værdier i Data-fanerne, opdateres diagrammet, men søjlernes sortering er forkert, (og så er tingene jo ligesom før dine sidste koder jfr. spørgsmål 1041294): de højeste værdier vises ikke først (som i tabellen). Søjlerækkefølgen bliver korrekt, enten hvis jeg bruger din knap, eller hvis jeg klikker på Lageroversigt-fanen, før jeg går til diagrammet.
Avatar billede visto Professor
10. februar 2023 - 15:53 #6
Glemte lige at skrive, at når jeg efter Excels reparation, som jeg nævnte ovenfor, får åbnet filen, vises beskeden:
"Excel kunne ikke åbne filen ved at reparere eller fjerne indholdet.
Fjernede poster: Sortering fra /xl/tables/table1.xml-del (Tabel)"
Avatar billede ebea Ekspert
10. februar 2023 - 16:50 #7
#5 - Det som du beskriver, med at filen bliver "ødelagt" efter den er gemt, kan ikke være relateret til  tilføjelsen af apostrofen.
Der må være noget andet, som giver fejlen. Selvom jeg ikke har 2013, har jeg testet hvor linjen (med apostrofen) er væk fra koden, og det ændrer ikke i filen, når den gemmes.

Men det med apostrofen, var for at teste om det aktuelt gav fejlen, eller der kom andre fejl.
Avatar billede visto Professor
10. februar 2023 - 16:54 #8
Før I lægger jer for meget i selen: Jeg vil lige prøve løsningen med Jans knap (#4) i min "rigtige" projektmappe. Måske det i praksis ikke er så tosset at kunne se diagrammet før og efter opdatering på denne måde. Så jeg prøver lige koderne dér og vender tilbage med en status.
Avatar billede Jan Hansen Ekspert
10. februar 2023 - 20:13 #9
problemet er jeg kan godt lave automatiseringen, ved at aktivere lager-fanen men diagramfane aktiveres så starter makroen forfra og dermed uendelig loop, derfor knappen.
Avatar billede visto Professor
11. februar 2023 - 12:16 #10
#7
Du har ret, det er ikke apostrofen, der afstedkommer fejlen.
Jeg prøvede at tilføje apostrofen uden at foretage mig andet i filen, gemme filen og derefter åbne den. Og det gav ingen fejl. Men når jeg indtaster et nyt tal i en af Data-fanerne, gemmer og derefter åbner, kommer fejlmeddelelsen, som jeg beskrev i #5 og #6.
På trods af, hvad jeg skriver nedenfor, er jeg nysgerrig efter at se, om det kunne komme til at virke, uden at jeg får fejlmeddelelsen efter gemning/åbning.

#9
Jeg er kommet frem til, at jeg faktisk foretrækker løsningen med knappen - en lagerændring kan faktisk bedre iagttages med søjlerne i "usorteret rækkefølge", hvorefter det er fint at kunne opdatere til den rette sortering.

Du har placeret makroen til knappen i Modul-vinduet, som jeg troede skulle bruges til ting, der bruges flere steder. Men da denne knap jo er specifikt knyttet til Lager-diagrammet, vil det da ikke være mere "korrekt" at placere koden i et særskilt vindue?
Jeg kommer til at skulle bruge flere knapper med samme funktion til andre diagrammer, men her skal koden jo også være helt specifik i forhold til ark, tabel osv.
Avatar billede Jan Hansen Ekspert
11. februar 2023 - 16:22 #11
Knapperne kan sagtens ligge i et andet modul
Avatar billede visto Professor
12. februar 2023 - 10:25 #12
Jeg har nu fået sat knapper på de diagrammer, som jeg ønsker.
Det ser ud til, at jeg har brugt en anden metode til at lave knapper end din, Jan. Jeg brugte Indsæt > Figurer og knyttede så makroen til knappen. Så jeg ved ikke om du (eller en anden) kan svare på følgende - hvor vi er ovre i "æstetikken", som jo ikke har noget at gøre med funktionaliteten:

Når jeg peger på en knap, viser der sig en lille tekstfirkant - værktøjstip hedder den vist - der siger "Afrundet rektangel 1", som blot henviser til navnet på den figur, jeg valgte at indsætte. Jeg ville foretrække, at der stod "Sorter" i stedet for (eller allerhelst at der ikke viste sig nogen tekst, men det kan man nok ikke). Ved nogen, hvordan jeg kan ændre "værktøjstippets" tekst? Der er intet relevevant i hverken knappens højrekliksmenu eller nogen steder i VBA-koderne.
Avatar billede Jan Hansen Ekspert
12. februar 2023 - 12:15 #13
Avatar billede visto Professor
12. februar 2023 - 16:44 #14
Ja, det virker.

Tak for din store hjælpsomhed! Og god restsøndag.
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