[Excel] Custom formule herberekenen

Pagina: 1
Acties:
  • 1.727 views sinds 30-01-2008
  • Reageer

Acties:
  • 0 Henk 'm!

  • Maasluip
  • Registratie: April 2002
  • Laatst online: 14:51

Maasluip

Frontpage Admin

Kabbelend watertje

Topicstarter
Ik heb een eigen geschreven formule die het aantal cellen die een bepaalde kleur hebben telt.
Het probleem is echter dat die niet aangeroepen wordt als ik de kleur van een cel verander. De enige momenten dat de formule herberekent is als ik de "Format Painter" gebruik of als ik de formule zelf opnieuw ingeef.
Met F9 wordt de formule niet herberekend, met kleur veranderen (zoals gezegd) niet en ook met undo niet.

De Format Painter kan ik eigenlijk niet gebruiken in mijn sheet omdat die alle formats kopieert, ook randen en conditionele formats, en dat wil ik niet.

Uiteraard staat Calculation op Automatic.
Wat testen met calculation op manual doet mij vermoeden dat Excel een verandering in kleur niet ziet als reden om een recalc te doen.
Iemand bekend met dit gedrag en hoe ik dit kan omzeilen? Ben ik gek als ik dit een bug noem?

Signatures zijn voor boomers.


Acties:
  • 0 Henk 'm!

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 27-05 16:00

curry684

left part of the evil twins

Professionele website nodig?


Acties:
  • 0 Henk 'm!

  • jvo
  • Registratie: Augustus 2001
  • Laatst online: 04-10-2023

jvo

geen commentaar

Wat bedoel je precies met een eigen geschreven formule?

Normaal is het wijzigen van een kleur ook geen reden voor Excel om formules te updaten.

Acties:
  • 0 Henk 'm!

  • Maasluip
  • Registratie: April 2002
  • Laatst online: 14:51

Maasluip

Frontpage Admin

Kabbelend watertje

Topicstarter
jvo schreef op 28 juni 2004 @ 09:03:
Wat bedoel je precies met een eigen geschreven formule?
Een functie geschreven in VBA. Een macro zonder toetsencombinatie eraan toegewezen O-)
Normaal is het wijzigen van een kleur ook geen reden voor Excel om formules te updaten.
Dat is vervelend, want dat is juist het enige dat ik doe.

Signatures zijn voor boomers.


Acties:
  • 0 Henk 'm!

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Hmm, inderdaad wordt het aanpassen van de kleur niet gezien als event dat belangrijk genoeg is om Change() aan te roepen.
Je kunt SelectionChange() gebruiken en dan checken of het om de juiste cel gaat. Niet ideaal, werkt wel.

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


Acties:
  • 0 Henk 'm!

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

niesje in 'cellen op kleur op tellen'
Application.volatile true in de eerste regel van de functie.

Uitleg over wanneer excel een functie herberekent vind je onder 'volatile' in de help van excel :) Kort gezegd: met volatile wordt een functie altijd herberekend als excel gaat rekenen. Als je alleen een kleur verandert zul je dus nog wel een keer op f9 moeten drukken, ook al staat automatisch herberekenen aan.

Aan de andere kant wordt de functie ook herberekend ook al is er helemaal niets veranderd in het bronbereik... :|

[ Voor 134% gewijzigd door Lustucru op 28-06-2004 09:43 ]

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


Acties:
  • 0 Henk 'm!

  • onkl
  • Registratie: Oktober 2002
  • Laatst online: 21:04
Niesje schreef op 28 juni 2004 @ 09:26:
niesje in 'cellen op kleur op tellen'
Application.volatile true in de eerste regel van de functie.

Uitleg over wanneer excel een functie herberekent vind je onder 'volatile' in de help van excel :)
Als starter:
code:
1
Application.Volatile

Zorgt ervoor dat excel je functie meeneemt in een herbereken rondje.
Of excel kleurveranderingen genoeg reden voor herberekenen vindt bis de volgende vraag.
Overigens: alle interne excel formules zijn in C geschreven. VB(A) is i.h.a. "iets" minder efficient.
Probeer dus zo weinig mogelijk eigengemaakte functies te laten herberekenen.
Als je grote ranges wil afgrazen, wil dit wel eens helpen tegen den dikke stront:
code:
1
2
3
Application.screenupdating=false
je ding
[application.screenupdating=true

Acties:
  • 0 Henk 'm!

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

onkl schreef op 28 juni 2004 @ 09:38:
Als je grote ranges wil afgrazen, wil dit wel eens helpen tegen den dikke stront:
code:
1
2
3
Application.screenupdating=false
je ding
[application.screenupdating=true
Da's niet een kwestie van dikke stront, maar de "vervelende" eigenschap dat Excel het scherm elke keer wil updaten. :)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


Acties:
  • 0 Henk 'm!

  • Maasluip
  • Registratie: April 2002
  • Laatst online: 14:51

Maasluip

Frontpage Admin

Kabbelend watertje

Topicstarter
Niesje schreef op 28 juni 2004 @ 09:26:
niesje in 'cellen op kleur op tellen'
Application.volatile true in de eerste regel van de functie.
Hmm, maar dan gebeurt het nog altijd niet automatisch maar moet ik F9 drukken (maar dan berekent Excel het tenminste)

Signatures zijn voor boomers.


Acties:
  • 0 Henk 'm!

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

BtM909 schreef op 28 juni 2004 @ 09:43:
Da's niet een kwestie van dikke stront, maar de "vervelende" eigenschap dat Excel het scherm elke keer wil updaten. :)
offtopic:
ds als in "zo traag als..." dus dat klopt wel ;)

Maar inderdaad is de native formules gebruiken i.c.m. screenupdating uit zetten veel sneller.

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


Acties:
  • 0 Henk 'm!

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Maasluip schreef op 28 juni 2004 @ 09:48:
[...]
Hmm, maar dan gebeurt het nog altijd niet automatisch maar moet ik F9 drukken (maar dan berekent Excel het tenminste)
Ja. Helemaal automatisch kan alleen met methode f_j_k: bij iedere selectionchange controleren of de achtergrondkleur van de vorige selectie gewijzigd is.

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland

Pagina: 1