Veri doğrulama listelerinizi Sayfa2'de kurduğunuzu ve ilk veri doğrulama işleminizi kurduğunuzu varsayalım Sheet1!A2. Ve Sheet1!B2neyin seçildiğine bağlı olarak geçerliliğini değiştirmek istediniz Sheet1!A2. Bu kodu Sayfa1'deki çalışma sayfası modülüne yerleştirirsiniz :
kod
Sub worksheet_change(ByVal Target As Range)
If Not Intersect(Target, Range("A2")) Is Nothing Then
If Target.Value = "one" Then
With Range("B2").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="=Sheet2!B1:B2"
End With
End If
If Target.Value = "two" Then
With Range("B2").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="=Sheet2!B3:B4"
End With
End If
If Target.Value = "three" Then
With Range("B2").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="=Sheet2!B5:B6"
End With
End If
End If
End Sub
Ardından, ifdoğrulama eklemek istediğiniz her ek liste için ek ifadeler hazırlarsınız.
açıklama
Temel olarak bu, eğer çalışma sayfasında bir değişiklik olursa, olup olmadığını A2ve bir değer içerip içermediğini kontrol edin . Bu değer yalnızca veri doğrulama sayfanızda olacaktır. Öyleyse eğer bu şeyler doğruysa:
Her bir olası değeri kontrol edin ve ardından veri doğrulama B2işlemini, başvuru yaptığınız gibi veri doğrulama listenizde tanımlanan olanaklara ayarlayın .
Verilerinize uyacak olasılıkları genişletin ve ek listeler için ek katmanlar ekleyin.