2012-05-06 24 views
6

Próbuję użyć zdarzenia zmiany arkusza w programie Excel VBA, ale wydaje się, że nie działa.Arkusz zmian arkusza VBA

Z czego wnoszę, że wystarczy tylko zdefiniować funkcję obsługi „Worksheet_Change” jak mam zrobić tutaj:

Private Sub Worksheet_Change(ByVal Target As Range) 
    Range("J1").Select 
    If Target.Address = "$J$1" And ActiveCell.Value = 1 Then 
     Range("B1").Select 
     Dim c As Integer 
     c = ActiveCell.Value 
     c = c + 1 
     ActiveCell.Value = c 
    End If 
End Sub 

Problem polega na tym, że nie jestem pewien dokładnie gdzie ja powinienem ją zdefiniować . Właśnie umieściłem go w "module1", który został automatycznie wygenerowany, kiedy zrobiłem moje pierwsze makro. Czy to jest poprawne? Jestem całkiem nowy w VBA, więc jeszcze nie wiem na ten temat.

Odpowiedz

11

Należy umieścić go w arkuszu, którego dotyczy. Innymi słowy, jeśli chcesz przechwytywać zdarzenia zmian w Arkusz1, w edytorze VBA, musisz umieścić go w VBAProject (nazwa_artyki)> Obiekty Microsoft Excel> Arkusz1.

enter image description here

+0

To posortowane. Wielkie dzięki! – Luke

+0

+ 1 do objaśnienia go za pomocą zrzutu ekranu. Jestem pewien, że pomoże to również innym :) –

Powiązane problemy