Avatar billede visto Professor
04. februar 2024 - 14:33 Der er 6 kommentarer og
1 løsning

Makro-fejl

I dette ark
https://www.dropbox.com/scl/fi/207bg3tvneqba603b1zty/makro-fejl.xlsm?rlkey=c6iaznc8nkhxrs5f7t1jye0h5&dl=0
får tabellen på fanen Data2 sine data fra fanen Data.
Når man ændrer værdierne i Data, vil tabellen sorteres med højeste værdi øverst.
Meningen er, at søjlerne i fanen Søjler skal kunne sorteres efter værdi, når man trykker på knappen Sorter, uden at man behøver at klikke på Data2 fanen først.

Jeg har tidligere fået hjælp her på Eskperten til at implementere en sådan løsning. Jeg har så prøvet at kopiere metoden til det nye ark, men jeg får her en fejlmeddelelse, når jeg klikker på Sorter-knappen:
"Makroen....kan ikke køres. Makroen er måske ikke tilgængelig i denne projektmappe, eller alle makroer er deaktiveret."

Jeg har sikret mig, at alle makroer i filen er aktiveret under Indstillinger.

Hvad er der galt?

Jeg bruger Excel 2013.
Avatar billede MaxZpaD Professor
06. februar 2024 - 10:54 #1
Hej visto

Det første issue ligger i kode-modulet for arket "Data2".

I Worksheet_Change-makroen står der:

"If Not Intersect(Target, SortCol) Is Nothing Then"

Det betyder, at hvis den ændrede celle (Target) krydser/overlapper med området "SortCol", så skal makroen "Sorter" kaldes.

Men der er ikke defineret en variabel, som hedder SortCol.

Variablen SortCol skal være et Range-objekt, som - vil jeg gætte på - definerer den kolonne, hvor ændringen forventes at foregå.

Så du skal til at starte med have følgende mere med i makroen:
Dim SortCol As Range
Set SortCol = [Angivelse af den kolonne som skal tjekkes for ændringen]
Avatar billede visto Professor
06. februar 2024 - 13:18 #2
Hej

Der er SortCol i Module1 i programkoden. Er det ikke den, der sørger for sorteringen i tabellen i Data2? Denne sortering virker jo som den skal.

Som sagt har jeg tidligere fået hjælp til det med koderne, som jeg ikke selv har forstand på. Så hvis du foreslår ændringer i koden, beder jeg dig skrive præcis hvor ændringer eller tilføjelser skal indsættes.

Der er ikke problemer med tabellen, der som sagt virker som den skal. Problemet er, at knappen i fanen Søjler ikke udløser en sortering af søjlerækkefølgen, sådan som den fremgår, hvis man klikker på fanen Data2.
Avatar billede MaxZpaD Professor
07. februar 2024 - 11:04 #3
Hej igen

I kode-modulet for arket Diagram3 (Søjler) ligger makroen "Sub Sorterknap_Klik()"

Linjen 4: SetUp Sheets("Data2"), "Data2", "Data2[Procent]

"Setup" genkendes ikke som en Sub eller en Function. Jeg vil gætte på, at denne makro definerer området på de data, som skal vises i diagrammet.

Så du skal tjekke efter, om du har fået alt kopieret med over fra den tidligere model.

I forhold til dit ønske om præcise beskrivelser af ændringer og tilføjelser, vil jeg bede dig huske på, at hjælpen i dette forum er frivillig, og at der således (for mit vedkommende i hvert fald) er grænser for, hvor meget gratis hjælp, der kan ydes.
Avatar billede visto Professor
07. februar 2024 - 17:31 #4
For at sikre mig, at alt var kopieret, reducerede jeg den fil, der virker, til en simplificeret eksempelfil og sammenlignede. Jeg opdagede her nogle forskelle i forhold til den fil, der ikke virker, men det ændrer ikke noget i forhold til problemet med knappen der ikke virker.  Men nu kan filerne direkte sammenlignes.

Jeg har opdateret filen, der ikke virker:
https://www.dropbox.com/scl/fi/htjme2k2wxt2nepiaesai/makro-fejl-v2.xlsm?rlkey=2a3rgiqz5d6vr3etv3frm39nq&dl=0
Og her er eksempelfilen, der virker:
https://www.dropbox.com/scl/fi/703ykekofhnm3uvht9geb/makro-virker.xlsm?rlkey=dq1ati9mg7a9lld17w7d366e4&dl=0

Jeg har desuden lavet en Word-fil for hver af de to Excel-filer, hvor jeg har kopieret programkoderne og med forskellig farve markeret de fane-/tabel-/kolonnenavne, der er udskiftet, så man kan sammenligne de to filers koder.
Jeg har ikke kunnet finde fejl eller uoverensstemmelser.
Koderne til filen der virker:
https://www.dropbox.com/scl/fi/81t0yafowb6gvj7byjosd/MAKRO-VIRKER.docx?rlkey=wbyn2ltuqoik0mnz5attm11a6&dl=0
Koderne til filen der ikke virker:
https://www.dropbox.com/scl/fi/p6xd0p2rbtay1wwtfbczh/MAKRO-FEJL.docx?rlkey=ml1tanae29jhu2rqvtvlxjt1h&dl=0

For lige at opsummere: Problemet er, at knappen på diagrammerne virker i den ene fil og ikke i den anden, hvor fejlmeddelelsen som nævnt er:
""Makroen....kan ikke køres. Makroen er måske ikke tilgængelig i denne projektmappe, eller alle makroer er deaktiveret."

Jeg tænkte på et tidspunkt, om det kunne være noget med navnet på makroen til knappen, den var gal med, men det kan jeg heller ikke se, skulle være tilfældet. Men der ser ud til ikke at være forbindelse mellem knappen og den tildelte makro.
Avatar billede MaxZpaD Professor
07. februar 2024 - 18:15 #5
For at koble den eksisterende makro til Sorter-knappen, skal du højre-klikke på Sorter-knappen og vælge menupunktet "Tildel makro..." på pop-up-menuen og derefter vælge makroen "Diagram3.Sorterknap_Klik".
Dette ændrer dog ikke på, at "Setup" i denne makro ikke genkendes som en Sub eller en Function, jf. min tidligere besked (#3).
Avatar billede visto Professor
07. februar 2024 - 20:18 #6
Der ser ud til, at din opskrift på kobling mellem knap og makro var løsningen.

Jeg vender tilbage i morgen med yderligere uddybning.
Avatar billede visto Professor
08. februar 2024 - 09:02 #7
Mange tak for din hjælp!
Ja, jeg manglede åbenbart at koble makroen til knappen. Og nu virker det som det skal.

Mht. det med at "Setup" ikke genkendes som en Sub eller en Function, så ved jeg ikke hvad det betyder (da jeg som nævnt ikke har forstand på disse koder). Du har i #3 ret i, at  den linje du nævner, definerer området på de data, som skal vises i diagrammet.
Jeg er tilfreds med, at det virker, som det skal. Så du behøver ikke uddybe, med mindre du selv har decideret lyst.
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