2016-07-27 3 views
0

데이터 유효성 확인 검사로 worksheet_change를 사용하려고합니다. 셀 범위에 붙여 넣은 값이 a1 : a3000 목록의 값 목록과 일치하는지 확인하고 싶습니다. 나는 잃어버린 것이고 진행하는 법을 모른다. 여기Worksheet_ 목록과 값 비교

내가 무엇을 가지고 지금까지

Private Sub Worksheet_Change(ByVal Target As Range) 
Dim Rang As Range 
Set Rang = Worksheets("DATA INPUT SHEET").Range("A1:A3000") 
    If Intersect(Target, Rang) Is Nothing Or Target.Cells.Count > 1 Then Exit Sub 

내가의 라인을 따라 것입니다 추가 할 것 :

If Target.Value <> Worksheets("Worksheet 2".Range("B2:B7") Then 
MsgBox "The value you entered is not valid" 

사람이 어떤 제안이 있습니까?

답변

0

이를 추가 : 당신이 코드에서 원하는

If IsError(Application.Match(target.value, Worksheets("Worksheet 2").Range("B2:B7"), 0)) Then 
    MsgBox "The value you entered is not valid" 
End If 

.

+0

안녕하세요 Scott입니다. 나는 첫번째 줄에서 "not"를 제거 할 필요가 있었다. 그렇지 않으면 그것은 목록에 있었 더라면 나에게 오류를주고 있었다. 그리고 내 질문을 분명히 말하지 않은 것을 용서해주십시오. 그러나 이것은 단일 세포에서 작용합니다. 필자가 정말로 필요로하는 것은 1-1000과 같이 A 열에 여러 값을 붙여 넣으면 거부되는 것입니다. 아이디어가 있습니까? –

+0

나는 실제로 나 자신을 알아 차렸다. 내가 한 시간 전에했던 편집을 보면 나는 그것을 제거했다. 올바른 것으로 표시하십시오. –

+0

예 Scott! 너는 틀림없이 옳았다. 나는 내 페이지를 새로 고치지 않았다. 내 실수! –