Office实用小技能get大学生必备资源库excel图表

Excel2016实现多级下拉联动

2018-11-16  本文已影响47人  冷态度0817

在日常工作中,难免需要使用办公软件,没有系统性的去学习office,只能遇到问题就去寻找解决问题的方法。这几天,需要提供一个模板给客户进行数据填写录入,某些数据字段有规则限定,需要用到下拉联动。在此记录,好记性不如烂笔头。

1.准备一个excel文件,需要有两个工作簿,一个用来实际操作,一个用来存放下拉数据。

2.我们以中国行政区划为例来进行操作。录入省份数据,选中设置以首行根据所选内容创建名称,如下图:

设置省份数据

2.录入各省份下的市级数据,设置以首行根据所选内容创建名称,如下图:

设置市级数据

3.录入各市级下的县区数据,设置以首行根据所选内容创建名称,如下图:

设置县区数据

在名称管理器中,可看到以上设置的内容,如下图

名称管理器

4.实操到了,在实际使用的位置设置数据有效性校验,省份设置如下:

省份设置

市级设置如下:

市级设置

县区设置如下:

县区设置

5.到这一步,已经能够实现下拉联动了,但会存在一个问题。要实现真正的联动,需做到改变父级,清空子级的操作,这边就需要用到代码。

查看代码 代码设置

代码解释:

代码解释

附上代码文本:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Rng As Range
    If Target.Row < 2 Then Exit Sub '修改第一行(标题)退出程序
    For Each Rng In Target
    If Rng.Column = 1 Then
            Rng.Offset(0, 1).ClearContents
            Rng.Offset(0, 2).ClearContents
        ElseIf Rng.Column = 2 Then
            Rng.Offset(0, 1).ClearContents
        End If
    Next
End Sub
上一篇 下一篇

猜你喜欢

热点阅读