Vilas는 사용자가 셀을 삭제할 수 없도록 워크 시트를 보호 할 수 있다는 것을 알고 있습니다. 그러나 그는 워크 시트 보호를 사용하지 않고 셀 삭제를 방지해야합니다. (빌라스는 셀 내용을 지우는 것이 아니라 실제 셀을 삭제하여 주변 셀을 왼쪽으로 이동하거나 위로 이동해야합니다.) 그는 워크 시트를 보호하지 않고 사용자가 셀을 삭제하는 것을 방지 할 수있는 방법이 있는지 궁금합니다.

Excel에서이 작업을 직접 수행하는 방법은 없습니다. Excel에서 셀이 삭제 될 때마다 호출되는 이벤트 처리기를 만드는 방법을 제공하면 좋을 것입니다. 그러나 그렇지 않습니다. (Worksheet_Change 이벤트는 셀의 내용이 변경 될 때마다 분명히 트리거되지만 셀이 완전히 삭제 될 때는 트리거되지 않습니다.)이 때문에 매크로를 사용하여 셀이 삭제되지 않도록 보호하는 것은 좋은 방법이 아닙니다.

우리가 찾을 수 있었던 최고의 솔루션은 Excel에서 배열 수식을 처리하는 방식의 특징을 활용하는 것입니다. 예를 들어, A1 : L37 범위의 데이터가 있고이 범위 내의 셀을 삭제하지 않기를 원한다고 가정합니다. 다음 일반 단계를 따르십시오.

  1. 보호하려는 블록 바로 오른쪽에있는 셀 범위를 선택합니다. 이 경우 M1 : M37 셀을 선택합니다.

  2. = “”를 입력하고 Shift + Ctrl + Enter를 누릅니다. 이제 M1 : M37의 전체 범위를 사용하는 아무것도하지 않는 배열 수식을 만들었습니다.

  3. 보호하려는 셀 블록 바로 아래에있는 셀 범위를 선택합니다. 이 경우 A38 : L38 셀을 선택합니다.

  4. = “”를 입력하고 Shift + Ctrl + Enter를 누릅니다. 이제 A38 : L38의 전체 범위를 사용하는 아무것도하지 않는 배열 수식을 만들었습니다.

이 시점에서 데이터 블록 (A1 : L37) 내의 셀을 삭제할 수 없으며 1 ~ 37 행 또는 A ~ L 열을 삭제할 수 없습니다.

시도 할 때마다 Excel은 “배열의 일부를 변경할 수 없습니다.”라는 메시지를 표시합니다. 데이터 블록 내에서 셀, 행 또는 열을 삭제하는 유일한 방법은 먼저 영향을받을 배열 수식을 제거하는 것입니다. 즉, 먼저 M 열 또는 38 행을 삭제해야합니다.

_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.

이 팁 (10256)은 Office 365의 Microsoft Excel 2007, 2010, 2013, 2016, 2019 및 Excel에 적용됩니다. 여기에서 Excel의 이전 메뉴 인터페이스에 대한이 팁 버전을 찾을 수 있습니다.

link : / excel-Stopping_the_Deletion_of_Cells [Stopping the Deletion of Cells].