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

相关推荐
QuZhengRong3 小时前
【数据库】Navicat 导入 Excel 数据乱码问题的解决方法
android·数据库·excel
没有羊的王K14 小时前
随想记-excel报表美化
excel
Full Stack Developme2 天前
Java后台生成多个Excel并用Zip打包下载
java·开发语言·excel
芦骁骏3 天前
自动处理考勤表——如何使用Power Query,步步为营,一点点探索自定义函数
数据分析·excel·powerbi
用户8356290780514 天前
使用 C# 将 DataTable 写入 Excel(基于 Spire.XLS for .NET)
excel
迪尔~4 天前
Apache POI中通过WorkBook写入图片后出现导出PDF文件时在不同页重复写入该图片问题,如何在通过sheet获取绘图对象清除该图片
java·pdf·excel
瓶子xf6 天前
使用Excel制作甘特图
excel·甘特图
战族狼魂6 天前
Excel 连接阿里云 RDS MySQL
mysql·阿里云·云计算·excel
cypking6 天前
vue excel转json功能 xlsx
vue.js·json·excel
专注VB编程开发20年6 天前
C#教程之NPOI读写excel文件XLS,XLSX格式
数据库·microsoft·c#·excel·xlsx·xls