• 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 als ik cel verlaat

  • Onderwerp starter Onderwerp starter otmar
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

otmar

Gebruiker
Lid geworden
21 jul 2009
Berichten
99
hoe kan ik er voor zorgen dat als ik een cel (in dit geval C2) verlaat dat dan op de achtergrond een macro wordt gestart?

ik probeer het met:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$c$2" Then
        MsgBox ("test")
    End If
End Sub

maar deze werkt niet.
 
Dan moet je Worksheet_SelectionChange gebruiken.

Code:
Dim sTGT As String
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Address = "$C$2" Then
        sTGT = "$C$2"
    ElseIf sTGT = "$C$2" Then
        MsgBox ("test")
    End If
End Sub

Met vriendelijke groet,


Roncancio
 
Dan moet je Worksheet_SelectionChange gebruiken.

Code:
Dim sTGT As String
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Address = "$C$2" Then
        sTGT = "$C$2"
    ElseIf sTGT = "$C$2" Then
        MsgBox ("test")
    End If
End Sub

Met vriendelijke groet,


Roncancio


bedankt voor de snelle reactie
er gaat iets fout: ook als ik cel c3 verlaat wordt deze macro gestart. en dat wil ik niet
alleen bij het verlaten van c2 moet de code voor het verlaten van c2 starten
 
bedankt voor de snelle reactie
er gaat iets fout: ook als ik cel c3 verlaat wordt deze macro gestart. en dat wil ik niet
alleen bij het verlaten van c2 moet de code voor het verlaten van c2 starten

In dat geval:

Code:
Dim sTGT As String
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If sTGT = "$C$2" Then
        MsgBox ("test")
    End If
    sTGT = Target.Address
End Sub

Met vriendelijke groet,


Roncancio
 
In dat geval:

Code:
Dim sTGT As String
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If sTGT = "$C$2" Then
        MsgBox ("test")
    End If
    sTGT = Target.Address
End Sub

Met vriendelijke groet,


Roncancio

perfect hier kan ik wat mee!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan