안녕하세요. 사전에 도움을 주셔서 감사합니다. 나는 VBA에 익숙하지 않으며 어떤 방법으로도 프로그래머가 아닙니다. 필드 변경 작업을 위해 VBA 코드를 가져올 수 있었지만 필드 변경이 수동으로 수행되지 않은 경우 트리거하지 않습니다.Excel/VBA - Worksheet_ 수동으로 필드를 변경했을 때만 실행
정확하게 사용한 사례는 Salesforce 및 매핑 된 필드의 타사 앱에 엑셀 매크로 북을 업로드 한 것입니다. 응용 프로그램이 필드 데이터를 보내 Excel에 성공적으로 변경하고 있지만 내 Worksheet_Change는 트리거하지 않습니다. 다음은 전체 코드입니다 (기본적으로 필드가 "True"로 변경 될 때 행을 표시합니다).
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$K$19" And Target.Value = "True" Then
Worksheets("Form").Activate
Sheets("Form").Rows("20").Select
If Selection.EntireRow.Hidden = True Then
Selection.EntireRow.Hidden = False
Else
Selection.EntireRow.Hidden = True
End If
Sheets("Form").Rows("41").Select
If Selection.EntireRow.Hidden = True Then
Selection.EntireRow.Hidden = False
Else
Selection.EntireRow.Hidden = True
End If
Sheets("Form").Rows("81:89").Select
If Selection.EntireRow.Hidden = True Then
Selection.EntireRow.Hidden = False
Else
Selection.EntireRow.Hidden = True
End If
End If
End Sub
내가 이해하는 바로는이 코드를 Worksheet_Calculate로 실행하는 것입니다. 누구든지이 문제에 대한 정보를 제공 할 수 있습니까? Worksheet_Calculates 또는 일반적으로 일반적인 이벤트에 익숙하지 않습니다.
다시 한번 감사드립니다.
아마도 외부 프로그램에서 Application.EnableEvents = False를 사용하고 있습니다.이 이벤트는 변경 이벤트를 시작하지 못하도록합니다. –
파일을 업로드 한 응용 프로그램이 자동화를 사용하여 통합 문서를 채우지 않고 (Microsoft에서 서버 환경에서 Office 자동화를 사용하여 다시 권장 함) 다른 라이브러리를 사용하여이 작업을 수행 할 수 있습니다. 이 경우 VBA가 실행되지 않으며 이벤트가 실행되지 않습니다. 잠재적 인 보안 함의를 고려할 때 사용자가 임의의 VBA를 자신의 환경에 업로드 할 수 있도록 허용하는 것은 어리석은 일입니다. –
$ K $ 19가 변경된 경우에만 코드가 실행됩니다. 다른 셀이 변경되었을 때 실행하려면 'Intersect()'메소드를 사용하여 이벤트를 발생시키는 범위를 설정해야합니다. –