Chris는 고유하지 않은 정보가 열에 입력되는 것을 성공적으로 중지하는 데이터 유효성 검사 기술을 사용합니다. (이 기술은 _ExcelTips_의 이전 호에서 설명했습니다.) 그는 데이터 유효성 검사에 여전히 문제가 있음을 정당하게 지적합니다. 그러나 누군가 정보를 셀에 붙여넣고 모든 검사를 성공적으로 우회 할 수 있습니다.

예를 들어 A8 셀에 “George”를 입력 한 다음 “George”를 입력하면

A9에 입력하려는 값이 고유하지 않음을 나타내는 일반적인 데이터 유효성 검사는 예상대로 오류를 생성합니다.

그러나 A8 셀에 “George”를 입력하고 해당 셀을 복사하여 A9 셀에 붙여 넣으면 데이터 유효성 검사 오류가 발생하지 않으며 붙여 넣기가 허용됩니다.

Excel에서이 문제를 직접 해결할 수있는 방법은 없습니다. 그러나 붙여 넣기를 시도 할 때마다 Excel에서 일부 검사를 수행하도록 할 수 있습니다. 다음 매크로를 고려하십시오.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

On Error Resume Next     For Each TmpRng In Target         TmpVal = TmpRng.Validation.Type         If TmpVal > 0 Then             If Application.CutCopyMode = 1 Then                 MsgBox "You cannot paste into validated cells."

Application.CutCopyMode = False                 Exit Sub             End If         End If     Next End Sub

이 매크로는 워크 시트에서 선택 항목이 변경 될 때만 실행됩니다. (이 코드는 워크 시트의 코드 창에 있어야합니다.) 대상 셀 (선택중인 셀)을 검사하고 사용자가 유효성 검사가 활성화 된 셀에 붙여 넣으려고하면 허용하지 않습니다.

또한 사용자에게 오류를 나타내는 대화 상자가 표시됩니다.

이 루틴은 데이터 유효성 검사 셀에 붙여 넣기가 수행되고 있는지 확인하기 만합니다. 그렇다면 오류가 생성됩니다.

루틴은 붙여넣고있는 항목이 대상 셀의 유효성 검사 규칙에 따라 실제로 허용되는지 확인하지 않습니다. 훨씬 더 복잡하고 더 많은 코딩이 필요합니다.

_ 참고 : _

이 페이지 (또는 ExcelTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.

link : / excelribbon-ExcelTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요].

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

이 팁 (2449)은 Microsoft Excel 97, 2000, 2002 및 2003에 적용됩니다.