Avatar billede goodwill Nybegynder
09. december 2001 - 19:59 Der er 9 kommentarer og
1 løsning

Makro der afspilles når celleværdi ændres

Hej alle,
Jeg sidder og leder efter en \"makro\" der kan afspilles når værdien i en celle ændres.
Problemet ligger i, at det ikke er en celle til input, men en celle med en formel i. Dvs. det er værdien i cellen, der skifter, ikke cellens formel.
Alternativt (hvis ikke man ka\') kan man så få en autofiltrering til at udløse en makro?

Mange venlige hilsner
Goodwill

Avatar billede janvogt Praktikant
09. december 2001 - 21:07 #1
Du kan bruge den makro-hændelse, som hedder: Worksheet_Change
Den kan bruges til at afspille en makro, når en værdi i arket ændres.
Avatar billede goodwill Nybegynder
09. december 2001 - 22:06 #2
Hej Jan,
Den har jeg prøvet; virker ikke, da man ikke ændrer på formlerne.
Tror jeg må finde en måde, hvorpå jeg kan afspille en makro, når jeg autofiltrerer istedet.
Det er nemlig et ark, hvor man skal kunne søge men ikke indtaste selv.
:o)
Goodwill
Avatar billede alj Praktikant
09. december 2001 - 22:24 #3
Goodwill, prøv evt filnr 267 på alanexcel.dk
mvh
alan
Avatar billede rvm Nybegynder
10. december 2001 - 11:00 #4
Hej goodwill

Prøv at lave koden på calculate:

Private Sub Worksheet_Calculate()
MsgBox \"Virker\"
End Sub

Mvh

Richardt
Avatar billede alj Praktikant
10. december 2001 - 11:43 #5
Dette skulle gøre det, jvf min tidligere kommentar:
Private Sub Worksheet_Calculate()
  If Range(\"B1\").Value > 10 Then Call Formelværdi
End Sub
Sub Formelværdi()
    MsgBox \"Hej med dig!\"
End Sub
mvh
alj
Avatar billede goodwill Nybegynder
10. december 2001 - 15:27 #6
hej igen,
Det ser ud til at worksheet_calculate() virker, jeg kan bare ikke få ovenst. svar fra alj til at fungere umiddelbart.
Her er mit forslag:
Private Sub Worksheet_Calculate()
Worksheet_change Range(\"B1\")
End Sub
Private Sub Worksheet_change(ByVal Target As Excel.Range)
If Target.Address = ActiveWorkbook.ActiveSheet.Range(\"B1\").Address Then
    Select Case Target.Value
    Case Is > 10
    MsgBox \"Hej med dig!\"
    End Select
End If
End Sub

Det virker godt nok, MEN...
Hvis jeg har to forskellige regneark - med hver sin private sub worksheet_calculate()- åbne på samme tid, trigger den ene private sub den anden.
Er der en mulighed for at begrænse hændelsen til kun en projektmappe??
:o)
Goodwill
Avatar billede rvm Nybegynder
10. december 2001 - 15:45 #7
Hej Goodwill

Det ser ud som om i din kode, at du kalder en hændelsesfunktion (Worksheet_change) fra hændelsefunktionen \"Worksheet_Calculate\"  - det kan godt være problemet.

Forslag:
Læg al koden fra (Worksheet_change) ned i et modul og kald det fra \"Worksheet_Calculate\".

Jeg har derudover lige haft 2 filer åbne, hvor samme kode (Worksheet_Calculate)lå på Ark1 i hver sin fil og da trikkede de ikke hinanden.

Mvh

Richardt
12. december 2001 - 11:36 #8
Hvis de ligger i hver deres arks kodemodul, så kan de ikke blive udløst på samme tid, med mindre der er referencer i mellem arkene, således begge ark bliver Calculated samtidig.
Avatar billede goodwill Nybegynder
12. december 2001 - 21:37 #9
Hej igen,
efter lang tids bøvl med at finde ud af, hvad der trigger det andet regneark\'s worksheet_calculate, er jeg desværre ikke kommet nærmere en løsning. Til gengæld er en worksheet_calculate, også uden worksheet_change løsning på spørgsmålet, så rvm får hermed pointene.
Kommer nogen i tanker om, hvorfor mine regneark er en \"smule\" ustabile og blander hændelser sammen på trods af at de ligger i modulet for det enkelte worksheet, vil jeg da være taknemmelig for en løsning.
:o)
Goodwill
Avatar billede alj Praktikant
12. december 2001 - 22:30 #10
Jamen dog, det lyder ikke godt.
Har du mulighed for at sende filerne til mig med en lille beskrivelse af problemet alan@alanexcel.dk
så skal jeg prøve
mvh
alj
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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