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

相关推荐
Morantkk7 小时前
Word和Excel使用有感
word·excel
躺平的花卷9 小时前
Python爬虫案例八:抓取597招聘网信息并用xlutils进行excel数据的保存
爬虫·excel
爱编程的小生9 小时前
Easyexcel(2-文件读取)
java·excel
程序员如山石9 小时前
Excel的图表使用和导出准备
excel
zhy81030211 小时前
.net6 使用 FreeSpire.XLS 实现 excel 转 pdf - docker 部署
pdf·.net·excel
傻啦嘿哟11 小时前
如何使用 Python 开发一个简单的文本数据转换为 Excel 工具
开发语言·python·excel
星星会笑滴13 小时前
vue+node+Express+xlsx+emements-plus实现导入excel,并且将数据保存到数据库
vue.js·excel·express
开心点幸运点1 天前
Excel——宏教程(1)
excel
boy快快长大1 天前
将大模型生成数据存入Excel,并用增量的方式存入Excel
java·数据库·excel
Leuanghing1 天前
使用Python生成F分布表并导出为Excel文件
开发语言·python·excel·f分布