Avatar billede snowball Novice
15. juni 2004 - 09:52 Der er 1 kommentar og
1 løsning

VBA: Activate/DeActivate, opfang ændringer i celler

Hej.

Når jeg forlader et ark, skal jeg have fundet ud af om nogle bestemte celler har ændret værdi.

Jeg troede det var nemt klaret ved at lave 2 globale arrays og så gøre nedenstående:

Private Sub Worksheet_Activate()
  OpenRiskValArray = Array(Cells(11, 4), Cells(11, 6), Cells(11, 9), Cells(11, 11), Cells(11, 13))
End Sub

Private Sub Worksheet_Deactivate()
  CloseRiskValArray = Array(Cells(11, 4), Cells(11, 6), Cells(11, 9), Cells(11, 11), Cells(11, 13))
  If (OpenRiskValArray(0) <> CloseRiskValArray(0)) Or (OpenRiskValArray(1) <> CloseRiskValArray(1)) Or _
    (OpenRiskValArray(2) <> CloseRiskValArray(2)) Or (OpenRiskValArray(3) <> CloseRiskValArray(3)) Or _
    (OpenRiskValArray(4) <> CloseRiskValArray(4)) Then
    MsgBox "values have changed"
  End If
End Sub

Så nemt skulle det åbenbart ikke være.

Værdierne kommer rigtigt nok ind i OpenRiskValArray, men problemet er, at lige så snart jeg kommer over i Deactivate sub'en, så har værdierne i OpenRiskValArray array'et opdateret sig og dermed indeholder de 2 arrays de samme værdier og så har jeg jo ikke opnået det jeg ville. Jeg forstår bare ikke lige helt hvorfor OpenRiskValArray bliver opdateret, for hvis jeg sætter et breakpoint der hvor OpenRiskValArray bliver sat, så bliver den kun kaldt den ene gang den skal - altså når man går ind på arket.

Hvad kan problemet være, og hvordan kan det løses?

På forhånd tak.
Avatar billede snowball Novice
15. juni 2004 - 10:18 #1
Nå, endte med at gemme værdierne i nogle skjulte celler i stedet for.

Vil dog gerne høre hvis nogen har en forklaring på ovenstående, så jeg lader spørgsmålet stå åbent lidt endnu :)
Avatar billede snowball Novice
17. juni 2004 - 16:00 #2
Lukker igen.
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