VBA에 비교적 익숙하지 않습니다. 그리고 워크 시트에서 작업 할 때 열 행의 조건을 기반으로 행을 자동으로 숨기거나 숨김 해제하는 코드를 만들었습니다 (0 숨김/1 숨김). 이 비교적 쉬운 매크로는 다른 시트를 추가 할 때까지 잘 작동했습니다. 이 시트에는 매크로가 없기 때문에 관련이 없다고 생각합니다. 하지만 지금은 매번 END IF 함수에서 런타임 오류가 발생하며이를 해결하는 방법을 알지 못합니다. 아마도 간단한 해결책이있을 수 있지만 찾을 수는 없습니다.VBA - 런타임 오류 END IF
Private Sub Worksheet_Calculate()
Application.ScreenUpdating = False
Dim LastRow As Long, c As Range
Application.EnableEvents = False
LastRow = Cells(Cells.Rows.Count, "BA").End(xlUp).Row
On Error Resume Next
For Each c In Range("BA34:BA56,BA73:BA74,BA76:BA107")
If c.Value = 1 Then
c.EntireRow.Hidden = True
ElseIf c.Value = 0 Then
c.EntireRow.Hidden = False
End If
Next
On Error GoTo 0
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
아닌 오류의 원인하지만 당신은 포함 할 수있는 모든'... 그렇지 ... 끝 If'는'c.EntireRow.Hidden = CBool (c.Value)로' – Jeeped
은 오류가없는 경우 '런타임 오류'보다 * 더 많은 것을 말하시겠습니까? – usr2564301
'On Error Resume Next'를 제거하거나 주석 처리하고 상위 오브젝트 워크 시트 참조를 범위 오브젝트에 적용합니다. 워크 시트에 다른 워크 시트의 변경으로 인해 계산 이벤트가 트리거되는 일시적인 수식이있을 수 있습니다. – Jeeped