Vraag


Acties:
  • 0 Henk 'm!

  • Ragnilde
  • Registratie: Februari 2024
  • Laatst online: 22-03-2024
Hoi iedereen

Ik heb niet veel ervaring in VBA, laat ik daar al mee beginnen :)

Voor mijn collega moet ik een werkvergunning in Excel aanpassen, zodat als hij een bepaald nummer wijzigt een aantal relevante cellen leeg worden, de datum van vandaag ingevuld wordt etc.

Nu heb ik dit allemaal al 'geprogrammeerd' en in een macro gegoten, enkel lukt het niet om deze te laten uitvoeren van zodra hij de cel wijzigt.

Voorlopig heb ik dit opgelost door de code te laten lopen wanneer hij Excel opent, maar ik wil dus eigenlijk dat het pas gebeurt wanneer hij die ene cel wijzigt.

Dit is wat ik al heb:

Private Sub Workbook_Open()

Range("D10:D12").ClearContents

For Each cl In Range("A14:D19")
Range("A" & cl.Row).MergeArea.ClearContents
Next

Range("G20,N18").ClearContents

Range("L15:L18").ClearContents


Range("C27,C29,C33,C36,M34").ClearContents


Range("G48").ClearContents

Range("G6").Value = Date
End Sub

------
Ik heb dit ook als Sub voor de macro (was het aan het testen, voorlopig is het met sneltoest ctrl+shift+n):
Sub NieuweWV()

Range("D10:D12").ClearContents

For Each cl In Range("A14:D19")
Range("A" & cl.Row).MergeArea.ClearContents
Next

Range("G20,N18").ClearContents

Range("L15:L18").ClearContents


Range("C27,C29,C33,C36,M34").ClearContents


Range("G48").ClearContents


End Sub

Kan iemand mij helpen? Ik zou ehct graag weten hoe het in elkaar zit :)

Alle reacties


Acties:
  • 0 Henk 'm!

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Je kunt het OnChange() event gebruiken om ‘af te vuren’ bij elke wijziging. Dan wil je wel controleren welke cel is veranderd, steeds bij elke wijziging, dat wil je niet. Al was het omdat de macro zelf ook weer zorgt voor wijzigingen. Pas goed op dat je niet in een loop komt.

Zo ook: weet je zeker dat je die cellen -elke- keer bij openen wilt legen via Workbook_Open()? Dus ook een ingevuld form moet weer leeg?

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


Acties:
  • +1 Henk 'm!

  • Sethro
  • Registratie: Maart 2017
  • Laatst online: 10-04 09:05
Alles wat je noemt kan ook in normale formules gevangen worden. Ik zou afstappen van VBA.