定制Excel选择性输入列表:[2]VBA弹出列表法

时间:2024-10-15 10:32:59

本期介绍Excel选择性输入列表——VBA弹出列表法的制作流程。

定制Excel选择性输入列表:[2]VBA弹出列表法

工具/原料

Excel

Excel选择性输入列表——VBA弹出列表法制作流程

1、插入用户窗体:打开Excel工作簿-->Alt+F11进入VBA窗口-->右击工程窗口空白处-->插入用户窗体。

定制Excel选择性输入列表:[2]VBA弹出列表法

2、设置用户窗体属性:在用户窗体属性窗口中,将窗体名称改为“F1”,将标题改为“学历选项”。

定制Excel选择性输入列表:[2]VBA弹出列表法

3、插入列表框:点选控件箱中的列表框-->点击用户窗体空白处放置-->调整好大小、位置。

定制Excel选择性输入列表:[2]VBA弹出列表法

4、设置列表框属性:按图示设置列表框的背景色和字体。

定制Excel选择性输入列表:[2]VBA弹出列表法

5、用户窗体程序设计:双击用户窗体或列表框,进入用户窗体代码窗口,在窗口中输入程序代码。

定制Excel选择性输入列表:[2]VBA弹出列表法

6、用户窗体程序设计——UserForm_Activate()事件在用户窗体激活事件中给列表框初始化,设置窗体位置为单元格跟随。Private Sub 炽扃仄呦UserForm_Activate() With ListBox1 .AddItem "大学本科" .AddItem "大专" .AddItem "中专" .AddItem "高中以下" .AddItem "硕士研究生" .AddItem "博士研究生" End With F1.Top = ActiveCell.Top + 50 F1.Left = ActiveCell.Left + ActiveCell.Width + 25End Sub

7、用户窗体程序设计——listBox1_Change()事件当列表框的值发生改变(选探怙鲔译择了某个选项)时,激活该事件。在事件中将列表框用户所选的值赋给当前疟觥窖捎单元格。Private Sub listBox1_Change() ActiveCell.Value = ListBox1.Value Cells(ActiveCell.Row, 1).Select Unload F1End Sub

8、工作表程序设计——Worksheet_SelectionChange事件在工旯皱镢涛程窗口中找到调用弹出列表的工作表,双击进入其代码窗口,输入下面的程序。'当所选单元格为第3列、2至最后一行的某个单元格时,激活F1窗体。Private Sub Worksheet_SelectionChange(ByVal Target As Range)Dim EndRow As SingleEndRow = Range("a65536").End(xlUp).Row '数据区域最后一行的行号If Target.Row > 1 And Target.Row <= EndRow And _ Target.Column = 3 And Target.Rows.Count = 1 _ Then F1.Show '激活F1窗体End Sub

定制Excel选择性输入列表:[2]VBA弹出列表法

9、使用效果:

定制Excel选择性输入列表:[2]VBA弹出列表法

评价

1、VBA弹出列表可以设计得更加美观,可以根据需要灵活定制,是有效性设置法的加强版。但其仍然无法解决大数据量的问题,比如地址的输入至少需要精确到县一级,而全国一共有3000多个县,一并放进列表中去选择是没有任何意义的。

定制Excel选择性输入列表:[2]VBA弹出列表法

下期预告:

1、下期将介绍“Excel选择性输入列表——VBA分级连选法”的制作流程。

定制Excel选择性输入列表:[2]VBA弹出列表法
© 手抄报圈