|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
在result工作表中,见简体字"是","否"
- Private Sub Worksheet_SelectionChange(ByVal Target As Range)
- Dim aa, i&, r1
- If Target.Address = "$H$1" Then
- ActiveSheet.Unprotect
- Call sjyxx
- ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
- , AllowFiltering:=True
- ElseIf Target.Address = "$B$3" Then
- ActiveSheet.Unprotect
- For i = 2 To 8
- aa = aa & Cells(i, 5).Value & ","
- Next
- aa = Left(aa, Len(aa) - 1)
- With Target.Validation
- .Delete
- .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
- Operator:=xlBetween, Formula1:=aa
- End With
- ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
- , AllowFiltering:=True
- ElseIf Target.Address = "$B$4" Then
- ActiveSheet.Unprotect
- Set r1 = [e1:e11].Find([b3].Value)
- For i = r1.Row + 2 To 10
- aa = aa & Cells(i, 5).Value & ","
- Next
- aa = Left(aa, Len(aa) - 1)
- With Target.Validation
- .Delete
- .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
- Operator:=xlBetween, Formula1:=aa
- End With
- ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
- , AllowFiltering:=True
- ElseIf Target.Address = "$B$7" Then
- ActiveSheet.Unprotect
- aa = "是,否"
- With Target.Validation
- .Delete
- .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
- Operator:=xlBetween, Formula1:=aa
- End With
- ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
- , AllowFiltering:=True
- ElseIf Target.Address = "$B$8" Then
- ActiveSheet.Unprotect
- aa = "否,"
- Set r1 = [e1:e11].Find([b3].Value)
- Set r2 = [e1:e11].Find([b4].Value)
- m = r2.Row - r1.Row
- For i = 3 To m + 3
- aa = aa & Cells(i, 6).Value & ","
- Next
- aa = Left(aa, Len(aa) - 1)
- With Target.Validation
- .Delete
- .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
- Operator:=xlBetween, Formula1:=aa
- End With
- ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
- , AllowFiltering:=True
- End If
- End Sub
复制代码 |
|