컨트롤 연결 셀 (Microsoft Excel)에서 수식 보호
Michael에는 A1 셀에 연결된 양식 컨트롤 (확인란)이 있습니다. True 또는 False로 확인되는 수식을 A1 셀에 배치 할 수 있으며 확인란에 해당 결과가 반영됩니다. 그러나 누군가 확인란을 클릭하여 변경하면 A1 셀의 수식을 명시 적 True 또는 False로 덮어 씁니다. Michael은 확인란을 제어하기 위해 A1 셀의 수식이 필요하지만 사용자가 수식을 덮어 쓰지 않고 확인란을 전환 할 수 있어야합니다. 그는 이것이 가능한지 궁금합니다.
요컨대 이것은 불가능합니다. Microsoft는 확인란을 선택하여 셀의 값을 제어 한 다음 다른 수식에서 해당 셀을 참조 할 수 있습니다. 연결된 셀에 수식을 포함하도록 의도 한 적이 없습니다.
원하는 경우 시도 할 수있는 한 가지 방법은 셀을 모니터링하는 매크로를 만들고 변경된 경우 다른 셀을 업데이트하는 것입니다. 예를 들어 확인란을 사용할 때 A1 셀의 수식이 영향을받지 않도록 확인란을 다른 셀 (예 : B1 셀)에 연결할 수 있습니다. 그런 다음 A1 셀에있는 항목을 검사하는 이벤트 처리기 매크로를 만들고 변경된 경우 매크로가 B1 셀에있는 항목을 수정합니다. B1 셀의이 수정은 확인란의 변경을 트리거합니다.
또 다른 매크로 기반 접근 방식은 매크로를 사용하여 A1 셀에 수식을 쓰는 것입니다. 다음은 이러한 매크로의 간단한 예입니다.
Sub CheckBoxState() Range("A1").Formula = "=IF(" & Range("A1") & _ ",""CHECKED"",""NOT CHECKED"")" End Sub
이 매크로를 확인란 컨트롤에 할당하면 사람이 확인란을 클릭하면 두 가지 일이 발생합니다. 먼저 확인란의 상태가 A1 셀에 기록되고 거기에있는 모든 항목을 덮어 씁니다. 둘째, 매크로가 실행되어 수식을 A1 셀에 다시 작성합니다. 이 매크로에 정의 된 수식은 A1 셀에 방금 저장된 값을 고려합니다. 따라서 확인란 컨트롤이 A1 셀에 True를 쓰면 매크로는 다음을 셀에 채 웁니다.
=IF(TRUE,"CHECKED","NOT CHECKED")
확인란을 다시 클릭하면 셀에 채워진 값이 False로 변경되고 셀에 배치 된 수식이 변경됩니다. 물론 A1 셀에 적용되는 수식이 실제로 원하는 수식을 반영하도록 매크로를 수정해야합니다.
_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.
이 팁 (113)은 Microsoft Excel 2007, 2010, 2013 및 2016에 적용됩니다.