11. februar 2008 - 10:28Der er
13 kommentarer og 1 løsning
Hente funktion ved knap klik
Hejsa!
Jeg har et lille problem, som jeg er sikker på en af jer sagtens kan klarer :-)
Har lavet et excel ark med ca. 8800 data-rækker og en 5 kollonner. For hver række beregnes der en værdi ved brug af en "function" hvor der indgår de 5 parametre til beregningen. Der hvor værdien skal beregnes ser ligninger dermed sådan her ud:
=PMV(A2;B2;C2;D2;E2)
og i kollonnen lige ved siden af beregnes en ny værdi ud fra funktionen "PMV", kaldet PPD.
Som i kan se laves der ret mange beregninger i arket, samtidigt med at der foretages en iterativ proces inde i funktionen PMV. :-( Problemet er så at hver gang jeg trykker enten eller ændre en værdi i indgangsparametrene, så beregner excel funktionerne som jeg har lavet.
Generelt set: "er der en smartere metode til dette problem? (jeg kan ikke lige se det)"
Har tænkt lidt på at lave en knap, hvor når der trykkes så udføres beregningerne af de to funktioner (PMV, PPD). Men jeg kan ikke finde ud af at lave en knap der "kører" funktionerne?
Håber i kan hjælpe, da arket skal være endnu størrer....og det bliver kun tungere og tungere :-(
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
Ja....det kunne være en mulighed. Men ikke helt den jeg søger :-)
Da arket/programmet skal benyttes af mange forskellige personer indenfor ingeniør branchen vil jeg meget gerne, at det er noget der skal være universalt. Sådan at folk ikke skal ind og ændre i deres excel opsætning.
Læg disse to makroer i ThisWorkbook modulet for din projektmappe.
Private Sub Workbook_BeforeClose(Cancel As Boolean) With Application .Calculation = xlAutomatic End With End Sub
Private Sub Workbook_Open() MsgBox "Beregninger udføres først, når der trykkes F9", vbonkonly + vbInformation With Application .Calculation = xlManual End With End Sub
Så ændres automatisk til manuel beregning når mappen åbnes og tilbage, når den lukkes.
Hvis du gerne vil, kan du selvfølgelig supplere med en knap, der udfører beregningen i stedet for F9. På denne knap skal så ligge koden
Private Sub CommandButton1_Click() Calculate End Sub
Men du kan ikke, uden at slå automatisk beregning fra, få funktioner til kun at beregne, når du beder om det. Fuktioner "køres" ikke på samme måde som makroer. De "beregner" bare.
Der står ikke Application.Volatile nogensteder i funktionerne.
jkrons: Er det ikke muligt at beregne en funktion, kun når der trykkes på en knap? Eller er excel bare lavet sådan at de functions der ligger i "module1" afvikles hver gang der ændres en værdi i arket? Tænkte på om man ikke kunne "kører" funktionerne PMV og PPD når der først trykkes på en knap?
Nej. Alle de funktioner der bruges i regnearket, uanset hvilet modul, de ligger i, genberegnes når der ændres værdier med mindre beregning er sat til manuel.
Du kan muligvis indlægge en kode i dine funktioner, der tester på om en given betingelse er opfyldt før det genberegnes, men det vil stadig betyde, at hver enmeste funktion skal aktiveres ved indtastning af data.
Det kan du. Som jeg skrev i 11/02-2008 11:35:10 kan du kave en kommandoknap med tiæhørende kode. Så er det bare at klikke på knappen, når der skal beregnes.
bak->Du har helt ret. Det er bare mig der ikke kan læse - eller rettere læser det, som jeg tror der står.
Synes godt om
Ny brugerNybegynder
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.