2017-01-12 2 views
0

테스트를위한 매우 간단한 통합 문서 매크로가 있으며 조건이 충족 될 때 실행되지 않습니다. 왜 그런지 알아? 매크로가 활성화되어 있고 모듈이 작동하지만 시트 코드가 작동하지 않습니다. 왜 그런가? 나는 세포 J3에서 아무것도 또는 퍼팅 조정하면조건이 충족되면 시트 특정 매크로가 실행되지 않습니다.

Sub Worksheet_Change(ByVal Target As Range) 
    If Target.Address = "$J$3" Then 
     Call macro1 
    End If 
End Sub 

그리고 나는

if A1 = "correct!" 
    msgbox "hey" 
else <do nothing> 

시도 "올바른을!" 해당 시트의 A1에서 두 코드가 실행되지 않습니다. 매크로 1의 코드는 간단히 msgbox "Hey"입니다. 내가 뭘 할 수 있는지 알아?

감사합니다!

+1

은을 Macro1가 LIKE 연산자를 사용하고 계십니까? 두 번째 코드는 첫 줄에 "then"이 누락되어 "else "을 "End if"로 바꾸면 제대로 작동합니다. –

+1

'Application.EnableEvents'가'False'로 설정되어 있지 않은지 확인하십시오. 'immediate window'에서 확인할 수 있습니다 :'? Application.EnableEvents' –

답변

0

나는 Workbook_SheetChange을 사용하고 나를 위해 일한 :

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) 
    If Sh.Name = "Sheet1" And Target.Address = "$J$3" Then 
     Call macro1 
    End If 
End Sub 

Sub macro1() 
    MsgBox "hello world!" 
End Sub 
+0

불행히도 어느 옵션도 작동하지 않았습니다. 코드 자체가 실행되지 않는 것 같습니다. –

0

내가 원하는, 내가 제대로 귀하의 게시물을 이해하고있어 희망 당신은 셀 J3에서 워크 시트의 값 및 셀의 값을 수정하면 A1 (같은 워크 시트에 있음)은 "정확합니다!", MsgBox "hey"가 팝업됩니다.

Worksheet_Change 이벤트 코드가 좋음, 코드를 macro1 (다른 코드 모듈에 배치 할 수 있음)으로 수정하십시오.

Sub macro1() 

If Range("A1").Value = "correct!" Then 
    MsgBox "hey" 
End If 

End Sub 

옵션 2 : 현재 통합 문서에

If Range("A1").Value Like "correct!" Then 
    MsgBox "hey" 
End If 
+0

불행히도 어느 옵션도 작동하지 않았습니다. 코드 자체가 실행되지 않는 것 같습니다. –

관련 문제