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 保存,关闭编辑器,即可实现省份切换、城市、区|县自动清空,城市切换、区|县自动清空

相关推荐
m0_748230944 小时前
Rust赋能前端: 纯血前端将 Table 导出 Excel
前端·rust·excel
Swift社区5 小时前
Excel 列名称转换问题 Swift 解答
开发语言·excel·swift
neeef_se6 小时前
Vue中使用a标签下载静态资源文件(比如excel、pdf等),纯前端操作
前端·vue.js·excel
℘团子এ6 小时前
js和html中,将Excel文件渲染在页面上
javascript·html·excel
菠萝蚊鸭15 小时前
Dhatim FastExcel 读写 Excel 文件
java·excel·fastexcel
一只小灿灿15 小时前
VB.NET在 Excel 二次开发中的全面应用
.net·excel
是小崔啊18 小时前
开源轮子 - EasyExcel01(核心api)
java·开发语言·开源·excel·阿里巴巴
Excel_easy19 小时前
批量识别工作表中二维码信息-Excel易用宝
excel·wps
m0_748255261 天前
easyExcel导出大数据量EXCEL文件,前端实现进度条或者遮罩层
前端·excel
小张认为的测试1 天前
Linux性能监控命令_nmon 安装与使用以及生成分析Excel图表
linux·服务器·测试工具·自动化·php·excel·压力测试