Excel实现省-市-区/县级联

数据准备

  1. 准备省份-城市映射数据,如下:
    新建sheet页,命名为:省-市数据源 ,然后准备数据,如下所示:
  2. 准备城市-区|县映射数据,如下:
    新建sheet页,命名为:市-区|县数据源 ,然后准备数据,如下所示:

数据管理

数据准备完成之后,将映射数据装入名称管理器,如下:

  1. 选中所有(鼠标点击第一行、第一列,然后ctrl+A)
  2. 点击"公式"
  3. 选择"指定"
  4. 弹窗弹出后,将"最左列"前面的√去掉,然后点击确认
  5. 执行完以上操作后,可查看数据是否加入"名称管理器"
  6. 点击公式、点击名称管理器,即可查看

按照以上步骤,将"市-区|县数据源"中的数据也加入名称管理器

引用数据源实现级联

  1. 实现省份下拉选择

    新建sheet页,命名为 "省-市-区|县级联" ,然后按照如图初始化表格:

    鼠标移入A2中,点击"数据",点击"有效性"

    允许选择"序列",然后点击如下图的小图标

    小图标点开之后,展示如下,此时我们去选择省份数据

    上图的样子保持,不要叉掉 ,sheet页切换到 省-市数据源

    此时,我们选择第一行所有列,鼠标移动到1,点击即可

    如上图操作完成后,回车、再确定

    则省份下拉实现完成

  2. 实现城市下拉选择

    省份下拉实现完成后,城市级联下拉就非常容易了,鼠标移入B2,点击数据,点击有效性,允许选择"序列"

    此时在来源中输入:

    =INDIRECT(A2)

括号中的值就是省份所在的表格,点击确定

则按照如上图操作后,即可实现省份-城市级联

  1. 实现区|县下拉选择
    区|县级联下拉与城市一样,鼠标移入C2, 点击数据,点击有效性,允许选择 "序列"
    ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/a539b2ceef5![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/40ceddc2fb54462fa7a5b1facaeaddfc.png)
    c4c73bc0c61376361109c.png)
    此时在来源中输入:

    =INDIRECT(B2)

括号中的值就是城市所在的表格,点击确定

实现省份切换、城市、区|县自动清空,城市切换、区|县自动清空

实现省份切换、城市、区|县自动清空,城市切换、区|县自动清空 需通过VB编程

选择 开发工具、选择 VB编辑器

打开之后,鼠标点击 "省-市-区|县级联" 的菜单,然后输入如下图所示代码

复制代码
Public sourceVal
Private Sub Worksheet_Change(ByVal Target As Range)
'判断是否等于历史
If sourceVal <> Target.Text Then
    If Target.Column = 1 Then
       Range("B" + CStr(Target.Row)).ClearContents
       Range("C" + CStr(Target.Row)).ClearContents
    ElseIf Target.Column = 2 Then
       Range("C" + CStr(Target.Row)).ClearContents
    End If
End If
End Sub
 
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    sourceVal = Target.Text
End Sub

代码输入完成之后,CTRL+S 保存,关闭编辑器,即可实现省份切换、城市、区|县自动清空,城市切换、区|县自动清空

相关推荐
认真的小羽❅12 小时前
0-1手写通用的 Excel 导入/导出工具类
java·excel
catoop12 小时前
Excel 实战技巧:单元格相对引用 INDIRECT、ROW、COLUMN 函数
excel
Teable任意门互动15 小时前
中小企业进销存实战:Teable多维表格从零搭建高效库存管理系统
开发语言·数据库·excel·飞书·开源软件
零零发聊技术17 小时前
Excel 2016版的TextJoin函数为什么不能用?
excel·textjoin
catoop17 小时前
Excel 实战技巧:动态单元格引用中使用 LET 函数优化 Excel 公式性能与可读性
excel
lengxuemo18 小时前
Excel做正态分布图
学习·excel
白白白飘18 小时前
【EXCEL】数据透视表学习
学习·excel
一晌小贪欢18 小时前
PyQt5 + Pandas 打造常见的表格(Excel/CSV)读取与处理工具
python·qt·excel·pandas·python办公·excel处理
小鹿软件办公18 小时前
如何用 Excel 宏原地批量修改单元格内容?
excel·excel重命名
Access开发易登软件2 天前
在 Access 实现标签输入控件:VBA + HTML 混合开发实战
前端·数据库·信息可视化·html·excel·vba·access