100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > excel不能插入activex控件_用excel做下拉多选菜单

excel不能插入activex控件_用excel做下拉多选菜单

时间:2020-03-17 21:51:30

相关推荐

excel不能插入activex控件_用excel做下拉多选菜单

先看视频:

下拉多选菜单/video/1070640311239249920

在日常工作中,有时候我们需要在单元格中输入多个固定内容的某几个项,手动输入很麻烦,我今天就带大家用excel的vba制作多选输入菜单。

以excel 为例

1、开启宏设置

新建excel,打开,依次点击:文件→选项→信任中心→信任中心设置→ActiveX设置,按下图选择,点击确认。

2、添加开发工具

依次点击:文件→选项→自定义功能区,右侧选择“所有选项卡”,下面勾选“开发工具”,点确认。

3、重命名sheet1为主表,sheet2位复选,在复选表中添加要在下拉菜单中呈现的数据。

注意:本示例中,复选表中的数据是从E列开始的,主表中能显示下拉菜单的列,也是从E列开始的。

4、插入listbox控件,设置属性

点击excel菜单“开发工具”,点击插入,选择“列表框”,在excel中画一个列表框控件,鼠标右键此控件,选择属性,在打开的属性对话框里将ListStyle设置为1-fmListStyleOption,将Multiselest设置为1-fmMultiSelectMulti,并确保“(名称)”属性为ListBox1

/video/1070647988464115712

5、点击主表,再点击Excel菜单“开发工具”,选择“查看代码”,复制下面的代码

Private Sub ListBox1_Change()Dim TXT As StringDim i As Integer, k As IntegerTXT = ""k = 0For i = 0 To ListBox1.ListCount - 1If ListBox1.Selected(i) = True Thenk = k + 1If TXT = "" ThenTXT = k & "." & ListBox1.List(i)ElseTXT = TXT & vbCrLf & k & "." & ListBox1.List(i)End If'TXT = IIf(TXT = "", ListBox1.List(i), TXT & "," & ListBox1.List(i))End IfNextActiveCell.Value = TXTEnd SubPrivate Sub Worksheet_SelectionChange(ByVal Target As Range)Dim DSoucre As StringDim EndRow As LongDim ColName As StringIf Selection.Count <> 1 Then ListBox1.Visible = False: Exit SubIf Not (Target.Row > 3 And Target.Column > 4) ThenListBox1.Visible = FalseExit SubEnd If'MsgBox Split(Target.Address, "$")(1)ColName = Split(Target.Address, "$")(1)EndRow = Sheets("复选").Columns(ColName & ":" & ColName).Find("*", , , , xlByRows, xlPrevious).RowIf EndRow <= 2 ThenMsgBox "无数据"Exit SubEnd IfDSoucre = "复选!" & ColName & "2:" & ColName & EndRowWith ListBox1.ListFillRange = DSoucre.ListStyle = fmListStyleOption.MultiSelect = fmMultiSelectMulti.Top = Target.Top + Target.Height.Left = Target.Left.Width = Target.WidthListBox1.Visible = TrueEnd WithEnd Sub

/video/1070651553697824768

以上...

下节课继续,但是我不知道要写什么......

评论里可以提要求,我会选一个,下节课出教程

ps: 如果有特别需求需要定制,可以私信我

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。