David Van der Vieren
David Van der Vieren

Reputation: 275

Macro to run when cell value changes

I am realy not sure what the problem with this code is or if it is a problem with the formatting of my worksheet but the following code will not automatically run when the value of D8 changes:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$D$8" Then
   Toggle_Rows
End If
End Sub

Is it a formating issue or a code issue?

Upvotes: 0

Views: 6632

Answers (2)

user2140261
user2140261

Reputation: 7993

After seeing your question Here

I'd like you to try this:

In the work book goto the sheet that you wish to change the value of D8 and have the code run. At the bottom of Excel right click the Tab with the name of that sheet and then select View Code

At the top of your Code window you should see the word "(General)".

Click on the drop down and select "WorkSheet", you should see a new Sub called

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

End Sub

You can delete those lines. Now to the right of where you selected Worksheet theres another drop down this one should say "SelectionChange" Click on that then Select the word "Change" from the drop down. You should see another new sub

Private Sub Worksheet_Change(ByVal Target As Range)

End Sub

In between those 2 lines is where you want

If Target.Address = "$D$8" Then
   Toggle_Rows
End If

Upvotes: 1

glh
glh

Reputation: 4972

Not an answer but a way to debug. as this works for me both manually and via code.

Try one of the following to see the value you get:

Private Sub Worksheet_Change(ByVal Target As Range)

    MsgBox Target.Address        

    Debug.Print Target.Address

    If Target.Address = "$D$8" Then 
       Toggle_Rows
    End If    
End Sub

Upvotes: 0

Related Questions