Excel制作导入模板,多级联动下拉框(一整列的设置),修改一级下拉框内容,自动清空二级内容

2023-11-19

效果展示

在这里插入图片描述

一、数据准备

1,新建一张表,在sheet2中放入数据。如图所示。

在这里插入图片描述

2,点击公式,点击名称管理器

在这里插入图片描述

点击新建,并输入名称。

在这里插入图片描述

点击引用位置,选择sheet2中的A2到A6

在这里插入图片描述

剩下几个也依次输入。如图所示,已经准备好了数据。

在这里插入图片描述

二、模板制作

在sheet1中选中A列(除了A1),点击数据,点击有效性,选择 “ 序列 ” ,选择来源,可以选择,也可以手动输入=Sheet2!$A$2:$A$6

在这里插入图片描述
在这里插入图片描述

如图所示。

在这里插入图片描述

选中B列(除了B1),点击数据,点击有效性,选择 “ 序列 ” ,选择来源,手动输入=INDIRECT($A2)

在这里插入图片描述

如图所示。

在这里插入图片描述
C列也同样设置。
在这里插入图片描述

在这里插入图片描述
所以多级联动下拉框,就一级一级的嵌套下去就可以了。

三、可能会出现的问题:“列表源”必须是划定分界后的数据列表
在这里插入图片描述

原因1:为空

在这里插入图片描述
B2为空。

前面也说了,用indirect函数的时候,要保证数据非空。
在这里插入图片描述

原因二:名称管理器数据有误

名称管理器中的命名对很多符号不支持,导致前后联动失败。
在这里插入图片描述

如图所示,两种情况都会引发“列表源”这个问题。
1)浙江省浙_江_省,名称没有对应起来
2)江苏省引用的数据是B8,B9,B11,这样就会有问题。数值{...}显示也和别的不同。
3)其他可能的原因,欢迎补充。

三、修改一级下拉框内容,自动清空二级内容

在wps中实现需要安装对应的宏。以下是在微软Excel中实现的

1,效果演示

在这里插入图片描述

2,实际操作

Excel表记得保存为.xlsm类型
在这里插入图片描述
粘贴以下代码

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Rng As Range
    If Target.Row < 2 Then Exit Sub '修改第一行(标题)不往下执行
    For Each Rng In Target
        If Rng.Column = 1 Then  '修改A列
            Rng.Offset(0, 1).ClearContents '清除B列
            Rng.Offset(0, 2).ClearContents '清除C列
        End If
    Next
End Sub

相关函数:Offset.(RowOffset, ColumnOffset)以A1单元格为基准,向右及下进行偏移。
Offset的第一个参数是下移行数,第二个参数是右移列数。当为正数时,下移和右移;当为负数时,上移和左移。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Excel制作导入模板,多级联动下拉框(一整列的设置),修改一级下拉框内容,自动清空二级内容 的相关文章

  • 传递 Range 参数时出现错误 424

    我是 VBA 新手 在这段非常简单的代码中遇到错误 Sub sub1 Dim myCell As Range Set myCell Sheet1 Cells 2 2 sub2 myCell lt lt lt lt Error 424 End
  • 如何禁用Excel自动识别数字和文本

    我使用 Python 生成了 CSV 文件 但是当我在Excel中打开它时 如果可以转换 Excel会自动将字符串识别为数字 e g 33E105变成33 10 105 这实际上是一个ID 而不是一个数字 如何在打开 CSV 文件时在 Ex
  • 当我在 Excel 中运行宏时标题被切断

    我在主电子表格中设置了一个标题 在其中运行不同的宏以对信息进行不同的排序 当我运行宏时 标题的底部部分被切断 我的标题确实包含图像 不确定这是否与之有关 我还在所有宏中运行以下代码部分来格式化第一行信息 Rows 1 1 WrapText
  • 如何使用 VBA 在 Excel 中添加连接(到外部数据源)并将其保存到该 Excel 电子表格的连接列表

    我可以使用 VBA 创建新的 ADODB Connection 以及关联的 ADODB Command 和 ADOBD Parameter 然后创建 PivotCache 和数据透视表 Sub CreatePivotTable Declar
  • 在 PHP 中复制 Excel 循环引用公式

    我正在尝试在 PHP 中复制 Excel 循环引用公式 在 Excel 中我有 A19 A25 A22 result 8771 65 A22 A19 14 1 result 1236 80 A25 10000 但是 当我尝试用 PHP 计算
  • 确定 IE 中的 HTML 按钮是否被禁用

    我最近正在做一些 VBA 工作 我需要签入网页以单击按钮 如果启用 如果禁用则不要单击 但 我不知道如何让 VBA 检查禁用的按钮 这是按钮代码
  • 使用变量 Criteria VBA 自动筛选

    我试图使用变量在工作表上放置自动过滤器 但它不起作用 Dim Criteria As Object i 1 Set Criteria ActiveSheet Cells i 1 MsgBox Criteria Value this retu
  • 循环遍历文件扩展名,excel vba

    我正在使用文件扩展名数组并循环访问工作簿文件夹 该代码正在命名 Sheet 1 name MyName 我注意到尽管 xlsm 不在数组中 它仍在打开并命名工作表 这是代码 任何人都可以看看他们是否遇到同样的问题并且能够解决它 Sub Lo
  • Excel.Range.Find 使用长度超过 255 个字符的字符串

    我在 Excel 中存储每个包含 1023 个字符的字符串 稍后 我需要能够搜索 Excel 文件并找到某个值所在的行 我可以保证我正在查找的字符串在工作簿中的某处恰好出现一次 目前 每次尝试搜索时 我都会收到类型不匹配错误 由于查找函数的
  • 单元格显示日期但不显示时间

    在我的 Excel 工作表中 我在一个单元格中添加了日期和时间 如下所示 在顶部 在效果栏中 它显示日期和时间 问题是 在单元格中它只显示日期 但我希望时间和日期都显示在单元格中 谁能帮我这个 选择 ColumnB 主页 gt 单元格 格式
  • 如何防止Excel单元格更新?

    我有一个相当大的范围 10 000 行 10 列 我每天都会逐行填充它 我还有一个较小的范围 366 行 5 列 其中 对于每个单元格 我运行一个宏 该宏的作用与 DSUM 或 SUMIF 的作用几乎相同 但具有多个条件 问题是 在实现了这
  • 自动执行将制表符分隔文件中的值乘以 -1 来求反的过程

    我一直在 Excel 中手动处理大量文件 我已经进行了一些搜索 但还没有找到关于如何以自动化方式实现此过程的明确最佳实践 我的手动流程如下 我有一个 tab 制表符分隔 文件 每行总共有 8 个 列 我需要对每行最后 5 列的数值求负 我一
  • VBA Excel 提示用户选择默认文件夹中的文件

    我想提示用户在默认文件夹中打开 Excel 文件 我不知道如何打开默认文件夹 Sub Program1 DefaultFolder C user dump FName Application GetOpenFilename If FName
  • 如何使用单元格内的十六进制颜色值突出显示单元格?

    我有一个符号和匹配的十六进制颜色的电子表格 我想用单元格内的十六进制颜色填充单元格本身 或其旁边的单元格 我读过一些有关 条件格式 的内容 我认为这就是实现的方法 我怎样才能达到我想要的结果 条件格式无法实现所有颜色 假设 Row1 包含数
  • 如何使用averageif函数?

    我有以下数据集 如果样本和基因相同 我想在 E 列中获得 B 列值的平均值 使用 Excel 中的 AVERAGEIF 函数之类的函数 例如 在E2细胞 我想要B2和B7的平均值因为他们有C 列中的值相同 即 alpha D 列中的值相同
  • 从数据集中提取唯一的产品 ID 和相应的其他列值到新工作表

    我有一个宏 可以从 A 列 中提取唯一数据 但我也希望从 A 列中的这些唯一值的其他列中获取相应的值 并且我希望它们位于不同的电子表格中 我尝试在代码中使用 Worksheet Vlookup 函数 但对于超过 70 000 行和 42 列
  • 如何在 VBA 中克隆范围对象

    我正在使用 Excel Visual Basic 编辑器在 VBA 中编写 Excel 宏 我不知道如何复制 克隆范围对象 而不是创建对同一对象的第二个引用 MemberwiseClone 函数似乎不可用 我认为它将针对内置类型实现 我需要
  • 当用户在单元格中输入触发器时执行子例程

    Excel 中的示例数据 A B C 1 9 5 2 4 y 3 3 1 9 4 66 4 5 5 9 我想做的是当我进入Y在 B 列中 我想要 一些东西 执行 我不认为If Active Cell Y将在这里工作 因为当我进入Y然后按 E
  • 写入结果电子表格时,AGGREGATE 公式不会自动计算

    我有一个使用 OPENPYXL v2 5 10 库开发的 python 3 7 脚本 用于从多个 Excel 工作簿中获取数据 处理该数据 然后写入单独的 Excel 工作簿 结果工作簿包含大约 100 个命名范围和大量公式 所有这些都按预
  • 使用工作表作为数据源的 VSTO Excel 的简单示例

    我想我遇到了 最简单的答案是最难找到的答案 的情况 而且我还没有遇到过任何搜索能够以直接的方式给我这个答案 这是为了Excel 2010 and VS 2010在现有 VSTO C 项目中 我有一个 Excel 工作表 其中包含 4 列数据

随机推荐