DE KRACHT VAN DE ‘CHANGE’ FUNCTIE
Automatische aanpassingen aan een Excel werkblad / worksheet of aan een heel Excel bestand zijn eenvoudig uit te voeren met het Change commando in Visual Basic. Je kunt daarbij een macro laten draaien nadat een bepaalde cel is gewijzigd. Pas bijvoorbeeld de keur van cellen aan, spring naar een ander deel van je bestand, laat berekeningen uitvoeren etc. etc. De mogelijkheden zijn eindeloos.
De code heeft deze opzet:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column=1
Target.Font.ColorIndex = 5
End If
End Sub
In het te downloaden bestand (zie de rechterkolom) vind je een invulformulier met een aantal gegevens die van elkaar afhankelijk zijn:
- aantal woningen
- woninggrootte
- marktwaarde per m2
- marktwaarde per woning
- totale marktwaarde.
Je kunt de berekeningen natuurlijk met formules doen, maar soms weet degene die het formulier moet invullen alleen de marktwaarde per m2 of alleen de totale marktwaarde. Dan is het Change-commando ideaal. Degene die de gegevens invult hoeft dan niet zelf de berekeningen te doen. Bijkomend voordeel is dat het formulier geen formules bevat die per ongeluk verwijderd konden worden.
Na aanpassen van bijvoorbeeld de marktwaarde per m2, worden de marktwaarde per woning en de totale marktwaarde automatisch aangepast. Verandering van de woninggrootte leidt automatisch tot aanpassing van alle marktwaarde variabelen.
Loop
Met een eenvoudige toevoeging van het commando Application.EnableEvents = False voorkom je dat de automatische aanpassingen in een oneindige loop terecht komen.
Meer informatie vind je bijvoorbeeld hier en hier.
Download
Excel - Change
Vragen?
Heb je vragen? Neem dan contact met mij op!