• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

macro starten na wijziging in variabele cel

Status
Niet open voor verdere reacties.

Linda72

Gebruiker
Lid geworden
19 jan 2010
Berichten
9
Hallo,

Ik wil een macro laten starten op het moment dat een bepaalde cel wijzigt.
Echter de cel die wijzigt en waarna de macro moet starten veranderd bij iedere invoer van een nieuw record.
BV. voeg een nieuw record toe op rij 20 kolom C, dan is de target C20. Dan moet er een macro starten.
Gelijk daarna (of dag later) voeg ik nog een record toe, dan is de target C21. Dan moet je macro nog een keer starten.

Ik heb nu deze code staan:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$C$20" Then
'mijn macro


De waarde "$C$20" moet dus een variabele waarde worden.

Alvast bedankt.
 
Je zal dan toch een criterium of criteria moeten hebben aan de hand waarvan de macro objectief kan bepalen welke cel de belanghebbende is.
 
Dan moet ik zeker ervoor zorgen dat in een cel (bv z1) op mijn werkblad de verwijzing naar kolom c en laatst gevulde rij komt te staan. En vervolgens $Z $1 als target te gebruiken.
 
Gaat het altijd om de laatst gevulde cel in kolom C? Zo ja, dan is dat ook een objectief criterium.
 
Hoi,
Als ik uw vraag goed begrijp zoiets?
Rechts klikken op betreffende tablad en volgende code toevoegen
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim KeyCells As Range

    
    Set KeyCells = Range("C20:C1000")
    
    If Not Application.Intersect(KeyCells, Range(Target.Address)) _
           Is Nothing Then

        
        ' uw macro
        MsgBox "Cell " & Target.Address & " is aangepast."
       
    End If
End Sub
Groet
 

Bijlagen

En dan kun je het zo doen: If Target = Cells(Rows.Count, 3).End(xlUp) Then 'jouw macro
 
bv in cel C20 staat een datum. Vervolgens wordt in C21 een datum gevuld dan moet de macro starten.
Even later wordt in cel C22 een datum gevuld (nieuw record) dan moet de macro weer starten
 
Hallo gast0660 en marcelbeug.
Ga beide oplossingen morgen even uitproberen. Laat via het forum weten of mijn vraag hiermee opgelost is .
Alvast bedankt.
 
Je kan ook nog kiezen voor:
Code:
if target.column = 3 then
 
Hallo,
Ik heb uiteindelijk de oplossing van Marcel gebruikt. En dit werkt precies zoals ik het wilde.
Bedankt! Zal het onderwerp afsluiten.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan