【VBA案例010】下拉多选
302 字
2 分钟
【VBA案例010】下拉多选
大家好!今天将为大家介绍在Excel中如何实现下拉多选功能,让数据输入更加灵活高效。
下拉多选功能不仅提高了数据输入的灵活性,还减少了输入错误的可能性,为我们的数据处理工作带来了更高的效率。
也许你见过使用表单控件的方式实现下拉多选,但是通过数据验证和VBA,我们同样能够轻松创建具有下拉多选功能的工作表。

以下是VBA代码,详细解析请看文末视频。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngDV As Range Dim oldVal As String Dim newVal As String Dim fenGeFu As String
If Target.CountLarge > 1 Then Exit Sub fenGeFu = "," '规定用逗号分隔
On Error Resume Next Set rngDV = Cells.SpecialCells(xlCellTypeAllValidation)
If rngDV Is Nothing Then Exit Sub If Intersect(Target, rngDV) Is Nothing Then Exit Sub
Application.EnableEvents = False newVal = Target.Value Application.Undo oldVal = Target.Value Target.Value = newVal
If oldVal <> "" Then If newVal <> "" Then If InStr(fenGeFu & oldVal & fenGeFu, fenGeFu & newVal & fenGeFu) > 0 Then If InStrRev(oldVal, newVal) + Len(newVal) - 1 = Len(oldVal) Then Target.Value = Replace(oldVal, fenGeFu & newVal, "") Else Target.Value = Replace(oldVal, newVal & fenGeFu, "") End If Else Target.Value = oldVal & fenGeFu & newVal End If End If End If
Application.EnableEvents = TrueEnd Sub支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!
【VBA案例010】下拉多选
https://fanrich.eu.org/posts/程技/vba/vba案列/vba案例010下拉多选/相关文章智能推荐
1
【VBA案例015】拆分工作表(下)
程技2023-10-23
2
【VBA案例003】模糊查询
程技2023-10-23
3
【VBA案例001】实现VLOOKUP功能
程技2023-10-23
4
【VBA案例002】一对多查询
程技2023-10-23
5
【VBA案例006】数据去重
程技2023-10-23
随机文章随机推荐
樊笼










