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

相关推荐
愿你天黑有灯下雨有伞15 小时前
Java使用FastExcel实现Excel文件导入
java·excel
爆爆凯15 小时前
Excel 导入导出工具类文档
java·excel
凌康ACG1 天前
springboot打包二次压缩Excel导致损坏
spring boot·后端·excel
诸葛大钢铁1 天前
Excel转PDF的三种方法
笔记·职场和发展·pdf·excel
小小薛定谔1 天前
java操作Excel两种方式EasyExcel 和POI
java·python·excel
CodeCraft Studio2 天前
DHTMLX Suite 9.2 重磅发布:支持历史记录、类Excel交互、剪贴板、拖放增强等多项升级
javascript·excel·交互·表格·dhtmlx·grid·网格
小阳睡不醒2 天前
小白成长之路-Elasticsearch 7.0 配置
大数据·elasticsearch·excel
奋进的孤狼2 天前
【Excel】使用vlookup函数快速找出两列数据的差异项
excel
不讲废话的小白2 天前
解锁高效Excel技能:摆脱鼠标,快速编辑单元格
计算机外设·excel
CodeCraft Studio2 天前
Excel处理控件Aspose.Cells教程:使用 Python 在 Excel 中创建甘特图
python·excel·项目管理·甘特图·aspose·aspose.cells