实例应用Excel中级联菜单实现的两种方法

大家知道,在Excel中可以通过设置数据的有效性来实现类似于网页表单中的下拉菜单功能,这样可以大大地提高数据的录入速度和可靠性。但采用此方法要求下拉菜单中的选项不能过多,否则会影响录入的速度。如果这些选项内容之间可进行分类、分组,那我们就可以用多个下拉选项(即级联菜单)来解决此类问题。下面我们就从一个实例出发,给出在Excel中实现级联菜单的两种方法,希望能给使用Excel进行办公的朋友提供帮助。

步骤/方法

  • 01

    一、自定义数据的有效性 图1中有两个工作表,其中Sheet1用来采集客户资料,并将其名称改为“客户数据采集”,在Sheet2的A列中保存了所有的省份, B列中的数据为各省份所属的县市并将工作表名称改为“地区”(假设这里设置了三个省份,即江苏省、浙江省和安徽省)。 1.定义单元格区域名称 选中“地区”表中江苏省所属县市的单元格区域B2∶B14,依次单击“插入”菜单中的“名称”,选择“定义”,弹出“定义名称”对话框,在“在当前工作簿中的名称”框中输入所定义的名称“江苏”,单击“确定”按钮。类似地,我们可以将浙江省和安徽省所属县市的单元格区域名称分别定义为“浙江”和“安徽”。 2.设置数据的有效性 切换到“用户数据采集”表中,选择要选择输入省份的D列,单击“数据”菜单中的“有效性”命令,弹出设置“数据有效性”对话框,在有效性条件的“允许”列表中选择“序列”,在“来源”框中输入“江苏,浙江,安徽”(分隔符为英文状态下的逗号,如图2所示),单击“确定”按钮。接下来选中“所属县市”所在的E列,再次打开“数据有效性”对话框,在有效性条件的“允许”列表中选择“序列”,在“来源”框中输入公式“=INDIRECT(D2)”,单击“确定”按钮 提示:在关闭设置E列数据有效性对话框时,如系统弹出警告提示“源目前包含错误,是否继续?”,只需确认就可以了。如果指定的D2单元格中已经选择了一个省份再设置E列数据的有效性就不会出现此提示了。 3.数据录入 录入客户资料时,首先选择客户所在的省份,然后再打开其右侧“所属县市”所在的单元格时,我们就可以从下拉菜单中找到我们所需的选项了。

  • 02

    二、用组合框工具实现 该方法是借助控件工具箱和VBA代码来实现的。 1.设计组合框 在工作表Sheet1中我们借助“控件工具箱”设计了如图3所示的录入界面,将工作表名称改为“客户数据采集”,在采集客户的所属地区时我们设计了两个组合框,第一个组合框ComboBox1用来存放省份,第二个组合ComboBox2用来存放对应于第一个组合框的下属的县市。Sheet2(“地区”表)仍保留和原来一样的内容。 2.编写组合框事件代码 双击“客户数据采集”表中的组合框ComboBox1,进入VBE编辑器,在代码窗口中输入其GotFocus事件代码: Private Sub ComboBox1_GotFocus( ) '清除组合框中的数值 ComboBox1.Clear ComboBox2.Clear '读出"地区"表A列中的不同省份并将其添加到组合框1中 For i = 2 To Sheet2.[a1].End(xlDown).Row target = Sheet2.Cells(i, 1) '利用设置标志位要判断数据是否重复 flag = 0 For j = 0 To ComboBox1.ListCount - 1 If ComboBox1.List(j) = target Then flag = 1 Next If flag = 0 Then ComboBox1.AddItem target End If Next End Sub 返回Excel工作表中,双击组合框ComboBox2,在代码窗口中输入其GotFocus事件代码: Private Sub ComboBox2_GotFocus( ) ComboBox2.Clear '读出"地区"表B列中属于组合框1的县市并将其添加到组合框2中 For i = 2 To Sheet2.[a1].End(xlDown).Row target = Sheet2.Cells(i, 1) If target = ComboBox1.Value Then ComboBox2.AddItem Sheet2.Cells(i, 2) End If Next End Sub 3.运行效果 返回“客户数据采集”表,单击控件工具箱中的“退出设计模式”按钮即可进入运行模式。在组合框ComboBox1中选择一个省份,此时再单击组合框ComboBox2的下拉按钮时,我们就可以方便地选择该省份所属的县市了。 提示:除了在工作表中实现客户的数据采集外,我们还可以通过窗体来实现此操作的录入界面。如果我们需要更改组合框中的列表选项,只需在“地区”表(即Sheet2)中进行相应的更改就可以了。 两种方法的比较:相比之下,用本文提供的第一种方法比较简单,更适合于初学者和一般用户。而第二方法则更适合利用Excel进行二次开发的读者朋友,以便于设计人性化的数据录入界面。 另外,在本例中,“地区”表中的地区数据如果需要添加或删除,若用第一种方法实现,要求添加的同类数据必须要连续且需要重新定义单元格区域。如果用方法二实现,各省份和所属县市添加时可以连续也可以不连续,就这一点而言,比第一种方法要便捷多了。

(0)

相关推荐

  • 在Excel中选中插入形状的两种方法

    我们有时会在Excel中插入一些“形状”,在Excel中画一些图.形状太多,想要全选或者多选就变得很困难.如何解决这个问题呢?下面小编就为大家介绍一下,来看看吧! 方法一:开启“选择窗格” 在Exce ...

  • 在Excel中自动填充工作日的两种方法

    我们在工作中往往会制作很多关于工作日的日程安排或者其他一些事项,那么在Excel表格中我们怎样自动填充工作日,去掉休息日呢?今天我就来教大家两种自动填充工作日的方法.方法很简单,保证能让你的工作事半功 ...

  • Excel中合并单元格的几种方法及合并单元格快捷键

    Excel中合并单元格的几种方法及合并单元格快捷键 如下图所示,希望将A1到E1,这之间所有单元格合并成一个大单元格操作方法如下: 合并单元格方法一:利用格式菜单上的"合并及居中" ...

  • excel使用vba关闭表格的两种方法

    excel中使用vba关闭excel的两种方法,有需要的朋友可以参考本文,来看看吧! 步骤 1.首先我们打开一个工作样表作为例子. 2.使用alt+f11组合快捷键进入vbe编辑器,插入一个新的模块, ...

  • 在excel输入正确身份证号的两种方法

    excel中输入身份证号的时候由于数位较多 出现了类似1.2357E+16这样的形式 下面有两种方法提供给你 简单方便,看以下步骤: 步骤 方法一:先将拼音输入法切换到英文状态 按键盘上的shift键 ...

  • 快速移动Excel表格中行和列顺序的两种方法

    快速移动Excel表格中行和列顺序的两种方法

  • Excel中合并单元格的两种常用方法

    在本文的范例中,要做的就是合并A1.B1两个单元格,来得到表格的标题. 合并单元格的方法一 选中需要合并的单元格,这里就是A1和B1两个单元格,然后切换到"开始"选项卡,在&quo ...

  • excel一个单元格中如何输入两行文字(两种方法)

    在单元格中输入两行文字,有一个小技巧.下面就告诉大家两种方法. 操作方法 01 打开表格. 02 新建一个空白文档 03 在表格中输入文本后,点击开始选项卡下的自动换行按钮 04 换行的位置和宽度有关 ...

  • 在word中怎么输入带勾方框?两种方法进行演示

    复选框也就是带√方框时我们在做选项选择时经常出现的一种符号,也是我们word中经常需要输入的一种符号,但是这种符号该怎么输入呢,这里用两种方法进行演示. 方法/步骤 1.打开word,点击“插入”,“ ...