Toon posts:

[VBA/Excel] Macro starten nadat hercalculatie

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hey guys,

Ik heb een worksheet waar een heleboel calculaties in voorkomen.
De data om deze calculaties te doen worden gehaald uit een externe applicatie.

Er is deze worksheet dus geen user input. (geen enkele)

Nou wil ik het voor elkaar krijgen door als er een hercalculatie plaats vind in een bepaalde cell, dat er dan een macro gestart wordt.

Ik moet weten in welke cell de hercalculatie heeft plaatsgevonden.
Dus ik kan geen worksheet.calculate() gebruiken.

Iemand een idee?
:?
grtz
Jeff

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 19-08 12:58

NMe

Quia Ego Sic Dico.

Vragen met betrekking tot Office en dus ook over VBA horen tegenwoordig in Officesuites en -software. :)

PW>>OFF

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • martinr
  • Registratie: Augustus 2003
  • Laatst online: 27-05 02:49
Als er geen userinput plaatsheeft, hoe komen de gewijzigde gegevens dan in de sheet terecht ?
Misschien dat daarmee een andere manier te vinden is om je probleem op te lossen.

  • RaZ
  • Registratie: November 2000
  • Niet online

RaZ

Funky Cold Medina

Wie start die macro dan als er geen enkele user-input is?

Het enige waar ik zo snel op kan komen is, 2 worksheets gebruiken, de 1ste die je laat editen door je externe applicatie, en worksheet 2 is een copy van sheet 1, en daar de inhoud per cell gaan checken of deze veranderd zijn. Als je routine klaar is, leeg je sheet 2, en dump je de inhoud van sheet 1 naar sheet 2.

Ey!! Macarena \o/


  • onkl
  • Registratie: Oktober 2002
  • Laatst online: 22:17
Als er in die cel een formule staat kan je misschien een "wrapper-custom-functie" bouwen, dus
In cel stond =SUM(A1:A3)
Maak functie wrapsum:
Visual Basic:
1
2
3
4
5
(di's nepcode)
Public Function wrapsum Byval bereik as range as variable
wrapsum = Application.Worksheetfunctions.Sum(bereik)
'Start hier je macro
End Function

En dan moest je nog iets met Volatile doen, zodat deze functie herberekend wordt, maar dat moet je even googlen, want die vergeet ik telkens.

[ Voor 22% gewijzigd door onkl op 06-10-2005 21:35 ]