Excel의 행에서 셀 조합이 고유한지 확인

Excel의 행에서 셀 조합이 고유한지 확인

3개의 열(A, B, C)이 각 행의 고유 식별자를 형성하는 Excel 시트가 있지만 열의 값은 고유하지 않습니다. 예를 들어:

   ABC    REF   001
   ABC    REF   002
   ABC    REF   003
   ABC    DOC   001
   ABC    DOC   002
   ABC    DOC   003

위의 행은 동일한 값 조합을 갖는 행이 없기 때문에 유효합니다(예: B 열과 C 열의 중복이 있더라도 "ABC REF002"가 있는 두 행은 없습니다).

사용자가 다른 행의 조합과 일치하는 열 A, B, C에 값 조합을 입력하면 유효성 검사 오류가 발생하도록 Excel 유효성 검사를 추가하려면 어떻게 해야 합니까?

답변1

워크시트 코드 영역에 다음 이벤트 매크로를 입력합니다.

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim I As Long, st As String, J As Long, k As Long
    Dim CH As String

    If Intersect(Range("A:C"), Target) Is Nothing Then Exit Sub
    CH = Chr(1)
    I = Target.Row
    J = Cells(Rows.Count, 1).End(xlUp).Row
    st = Cells(I, 1).Text & CH & Cells(I, 2).Text & CH & Cells(I, 3).Text

    For k = 1 To J
        If k <> I Then
            stk = Cells(k, 1).Text & CH & Cells(k, 2).Text & CH & Cells(k, 3).Text
            If st = stk Then
                MsgBox "Combination already in use:" & vbCrLf & stk
                Exit Sub
            End If
        End If
    Next k

End Sub

워크시트 코드이므로 설치가 매우 쉽고 자동으로 사용됩니다.

  1. Excel 창 하단 근처에 있는 탭 이름을 마우스 오른쪽 버튼으로 클릭합니다.
  2. 코드 보기를 선택하면 VBE 창이 나타납니다.
  3. 내용을 붙여넣고 VBE 창을 닫습니다.

고민이 된다면 먼저 시험 워크시트에서 시도해 보세요.

통합 문서를 저장하면 매크로도 함께 저장됩니다. 2003 이후 버전의 Excel을 사용하는 경우 파일을 다음 형식으로 저장해야 합니다..xlsm오히려.xlsx

매크로를 제거하려면:

  1. 위와 같이 VBE 창을 불러옵니다.
  2. 코드를 지워라
  3. VBE 창을 닫습니다

일반적인 매크로에 대해 자세히 알아보려면 다음을 참조하세요.

http://www.mvps.org/dmcritchie/excel/getstarted.htm

그리고

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

이벤트 매크로(워크시트 코드)에 대해 자세히 알아보려면 다음을 참조하세요.

http://www.mvps.org/dmcritchie/excel/event.htm

이 작업을 수행하려면 매크로를 활성화해야 합니다!

관련 정보