作者:绿色风
分类:
时间:2022-08-17
浏览:155
楼主 amulee |
Q:当输入数据不在范围内,如何为数据有效性动态添加数据? A:比如下面代码,为B2单元格动态添加数据。当输入的数据不在数据有效性范围内,让用户选择是否添加到数据有效性列表中。- Private Sub Worksheet_Change(ByVal Target As Range)
- Dim Temp, i&
- If Target.Address = "$B$2" Then
- Target.Validation.ShowError = False
- Temp = Split(Target.Validation.Formula1, ",")
- For i = 0 To UBound(Temp)
- If Target.Value = Temp(i) Then Exit Sub
- Next i
- If MsgBox(Target & "不存在,是否添加", vbYesNo) = vbYes Then
- With Target.Validation
- .Delete
- .Add Type:=xlValidateList, AlertStyle:=xlValidAlertInformation, _
- Operator:=xlBetween, Formula1:=Join(Temp, ",") & "," & Target.Value
- .IgnoreBlank = True
- .InCellDropdown = True
- .ShowError = False
- End With
- Else
- Application.Undo
- End If
- End If
- End Sub
数据有效性.rar |
2楼 DJ_Soo |
用inStr不严谨.还是拆开一个个看才对. Split(Temp,",")后对比元素.参考 9楼[<font color=red>提问</font>] 求助,数据有效性,可以输入任何值并添加到有效性的序列中 http://www.exceltip.net/thread-9348-1-1.html |
3楼 amulee |
多谢提醒,代码已改。 |
4楼 DJ_Soo |
要求加分 |
5楼 wzqlx |
wwwwwwwwwwwwwwwwwwwwwww |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一