2016-07-27 12 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

こんにちはスコット、これはうまくいきました。私は最初の行で "not"を削除する必要がありました。そうでなければ、それはリストにあったなら私にエラーを与えていた。 私の質問をはっきりと言い表せないことを私に許してください。しかしこれは単一の細胞で機能します。私が本当に必要とするのは、列Aに複数の値が貼り付けられていると、1-1000などの値が拒否されます。あなたはなにか考えはありますか? –

+0

私は実際に自分自身に気づきました。編集を見ると、1時間前に私はそれを削除しました。正しいと印を付けてください。 –

+0

はいScott!あなたは間違いなく正しい。私は私のページをリフレッシュしていなかった。私の間違い! –