打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
ExcelVBA制作的多选下拉清单,好用极了!
userphoto

2022.05.25 北京

关注

当你还在用下拉清单的时候,会VBA的朋友已经开始使用LISTBOX做下面这样的多选清单了!

似乎不管你是什么专业可能都会使用到这样的选择方法或者需求:

你可以直接观看下方的视频解析,

同时需要特别强调的在于,如果你看懂了视频,自己使用这种方法的时候,

下方的代码中需求修改的部分是:

第六行代码,如上面的图片我是选择C列(也就是第三列的时候),多选清单能够被调取出来,

如果你需求在第四列选择进行调取,

第六行代码Target.Column <> 3,你需要修改成:

Target.Column <> 4

以此类推

Private Sub Worksheet_SelectionChange(ByVal Target As Range)If Target.Count > 1 Then ListBoxYG.Visible = False: Exit Sub'如果选择多于一个单元格,不执行任何内容If Target.Column = 1 Then ListBoxYG.Visible = False: Exit Sub'如果选择的列为第一行,不执行任何内容If Target.Column <> 3 Or Target.Row < 3 Or _ Target.Offset(0-1) = '' Then ListBoxYG.Visible = FalseExit Sub'如果选择的列位不等于3,选择的行位小于3,或者选择的单元格左侧下方没有内容,不执行任何内容.Dim RGDim LR As LongLR = Sheet2.Range('A9999').End(xlUp).RowRG = Sheet2.Range('A1:B' & LR)'多选清单额数据源来源
With ListBoxYG'多选清单的高度,宽度,顶端,左侧位置等内容的设置.包括清单显示的数据来源. .Top = Target.Top .Left = Target.Offset(0, 1).Left .Width = 120 .Height = 160 .Visible = True .ColumnCount = 2 .ColumnWidths = '50;80' .List = RGEnd WithEnd Sub

第二段代码:

所有解析,可以观看视频,并且下载课件进行试验.

Private Sub ListBoxYG_Change()Dim LR As LongDim STR As String'多选清单额输出单元格设置With ListBoxYG    For LR = 0 To .ListCount - 1        If .Selected(LR) = True Then            STR = STR & ',' & .List(LR, 1)        End If    NextEnd WithActiveCell.Value = Mid(STR, 2)End Sub

练习文件下载:

链接:

https://pan.baidu.com/s/1cc3GBGmLpxWFYZ8FY7-pFw

特别说明:

即使保存为永久链接,也会存在失效的可能,

如果某一天下载链接失效,请大家不要产生误解.

如果你的基础,还不错.可以加入到老徐的VBA系列中来.

购买之后,带单号备注加老徐的微信:

xu45711795

如果喜欢老徐的视频,记得给老徐点赞哦!!

谢谢大家的观看!!

本章视频:有点长!!

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
VBA基础——循环语句
输入时逐步提示信息
mschart控件如何使鼠标移动到数据标记上时显示相应的内容
方法脚本2:组合框comboBox和listbox配合模糊查询显示
OFFICE Excel表格中常用的vba代码集锦
xcel vba 数组中第1位字符为0,赋给单元格时如何将0保留
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服