评论

  • 在sheet1写这样一段代码就可以了
    Sub SetValidate(ByVal Rng As Range, nValue As String)
    On Error Resume Next
    With Rng.Validation
    .Delete
    .Add Type:=xlValidateList, Formula1:=nValue
    End With
    End Sub
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$B$3" Then
    Select Case Target.Value
    Case 1: SetValidate Range("C3 "), "a,b,c "
    Case 2: SetValidate Range("C3 "), "d,e,f "
    Case 3: SetValidate Range("C3 "), "g,h,i "
    End Select
    End If
    End Sub