2016-07-27 5 views
0

Ich versuche, cheesheet_change als Datenüberprüfung zu verwenden. Ich möchte sicherstellen, Werte eingefügt in Zellen Bereich a1: a3000 entsprechen einer Liste von Werten aus einer Liste. Ich fürchte, ich bin verloren und weiß nicht weiter.Worksheet_Change Werte mit der Liste vergleichen

Hier ist, was ich bisher

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 

Was ich nach dem Vorbild der wäre hinzufügen möchten:

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

Hat jemand irgendwelche Vorschläge?

Antwort

0

Sie würden hinzufügen:

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

wo Sie den Code möchten.

+0

Hallo Scott, das hat gut funktioniert. Ich musste das "nicht" in der ersten Zeile entfernen. Sonst gab es mir einen Fehler, wenn es auf der Liste war. Und verzeihen Sie mir, meine Frage nicht klar zu formulieren, aber das funktioniert auf einzelne Zellen. Was ich wirklich brauche, ist einer, der ablehnen wird, wenn mehrere Werte in Spalte A eingefügt werden, sagen wir 1-1000. Hast du eine Idee? –

+0

Ich habe das selbst bemerkt, wenn Sie sich den Schnitt ansehen, den ich vor einer Stunde gemacht habe, habe ich ihn entfernt. Bitte beachten Sie die Markierung als richtig. –

+0

Ja Scott! Du warst definitiv richtig. Ich hatte meine Seite nicht aktualisiert. Mein Fehler! –

Verwandte Themen