다른 셀을 변경할 때 5 개의 셀 범위를 지우려고합니다. 예 : H5가 변경되고 J5 : J10이 지워집니다. 이것은 H5가 변경 될 때 J5를 지우는 데 효과적입니다.
Private Sub Worksheet_Change(ByVal Target As Range)
If Left(Target.Address(, False), 1) = "H" Then Target.Offset(, 2).ClearContents
End Sub
그러나 이것은 아래 4 개의 셀을 지우지 않습니다. H에 여러 행의 데이터가 있으므로 함수를 사용하여 범위를 지정하는 것을 조심했습니다. 예를 들어 H24가 변경되면 J24 : J29가 지워지고 약 200 행 동안 계속됩니다.
도움을 주시면 감사하겠습니다!
Offset
α- 함수는 다른 장소에서, 원래의 범위보다 같은 크기와 범위를 반환합니다. 범위의 크기를 늘리거나 줄이려면 Resize
-함수를 사용할 수 있습니다 . 따라서 기본적으로 두 기능을 결합해야합니다.
칼럼을 확인하는 방법에 대해 당신과 논쟁하고 싶지는 않지만 사용하는 If Target.Column = 8 Then
것이 훨씬 쉽다고 생각 합니다.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 8 Then ' Col H
Dim destRange As Range
Set destRange = Target.Offset(0, 2).Resize(5, 1)
Debug.Print destRange.Address
destRange.ClearContents
End If
End Sub
Target
둘 이상의 셀을 포함 할 수 있습니다 (예 : 잘라 내기 및 붙여 넣기를 통해), 처리해야 할 수도 있습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다