Table of contents
如果你正在寻找方法 自动填充Excel中的下拉列表 在这篇文章中,我们将展示如何在Excel中创建一个自动更新的下拉列表,以使你的任务更容易。 因为你不必在改变你的主要数据范围的任何值后手动更新你的下拉列表。 所以,让我们进入主要的文章。
下载实践工作手册
自动更新--下拉列表.xlsx在Excel中自动更新下拉列表的3种方法
在这里,我们有一个支付类型的列表,我们想为其创建一个下拉列表。 但为了进一步插入任何其他支付类型,我们想通过以下方式自动更新我们的下拉列表 3 方法。
为了创建这篇文章,我们使用了 微软Excel 365 版本 然而,你可以在你方便的时候使用任何其他版本。
方法一:使用OFFSET和COUNTA函数来自动更新Excel中的下拉列表
在这一节中,我们将使用组合的 关节 和 COUNTA 职能 用于自动更新由支付类型组成的下拉列表。
阶梯 :
首先,我们将看到正常创建一个下拉列表的效果。
- 选择单元格 D5 然后到 数据 标签>>。 数据验证 组>>。 数据验证 .
然后,在 数据验证 向导将打开。
- 选择 列表 下的不同选项中选择。 允许 的范围,并选择在 来源 .
=$B$5:$B$10
这就是支付方式的范围。
- 新闻 认可 .
然后,你会得到一个下拉列表,如果你为另一个支付选项添加另一行。 比特币 所以,这个新创建的选项不包括在我们的列表中。
为了解决这个问题,我们将以下列方式创建我们的名单。
- 打开后 数据验证 对话框,选择 列表 下的不同选项中选择。 允许 中输入以下公式 来源 箱子。
=offset($b$5,0,0, counta(b: b)-1)
在这里。 $B$5 是范围的起始单元格,以下是 2 零表示单元格引用将不会移动任何行或列的数字。 最后。 COUNTA(B: B)-1 表示范围的高度数,这将是有文本或数字的行数。
- 新闻 认可 .
因此,在输入数据验证公式后,我们得到了以下下拉列表。
如果我们增加另一个名为 "支付 "的选项 比特币 ,那么这个选项将被自动添加到我们的列表中。
阅读更多。 如何使用IF语句在Excel中创建一个下拉列表
方法-2:为一个范围定义名称并创建表来自动更新下拉列表
还有一种方法可以在Excel中创建一个自动更新的下拉列表,通过定义名称并使用一个 桌子 我们将用上述同样的例子来看这个过程。
阶梯 :
- 转到 公式 标签>>。 定义名称 组>>。 定义名称 .
之后,你会得到 新名称 巫师。
- 在""中输入一个名称。 命名 "文本框,在这里我们将输入" 付款类型 ",并选择我们的支付范围,在 指的是 .
- 点击进入 认可 .
现在,是时候创建一个表了。
- 转到 插入 标签>>。 表 .
通过这种方式,你将被带到 创建表格 对话框。
- 选择数据范围,并检查 我的表格有标题 选择。
- 新闻 认可 .
通过这种方式,我们创建了以下表格。
- 现在,选择单元格 D5 (我们想要的下拉列表的地方),然后去到 数据 标签>>。 数据验证 组>>。 数据验证 .
然后,在 数据验证 向导将打开。
- 选择 列表 下的不同选项中选择。 允许 并将命名的范围输入到 来源 箱子。
=Payment_Types
这就是支付方式的范围。
- 新闻 认可 .
因此,在输入数据验证公式后,我们得到了以下下拉列表。
如果我们增加另一个名为 "支付 "的选项 比特币 ,那么这个选项将被自动添加到我们的列表中。
阅读更多。 如何在Excel中创建动态依赖的下拉列表
方法-3:应用Excel INDIRECT函数与表来自动更新下拉列表
在最后一种方法中,不使用数据验证源中的命名范围。 我们也可以使用 幂函数 在 "源 "框中,参考 表名 在这一节中,我们将展示你如何做与 "我 "相同的事情。 方法二 使用另一个函数。
阶梯 :
首先,我们将我们的数据范围转换为一个表,这个表的名字是 表3 .
- 现在,打开 数据验证 对话框,在单元格中添加一个下拉列表。 D5 .
- 选择 列表 下的不同选项中选择。 允许 中输入以下公式 来源 .
=INDIRECT("Table3")
表3 是支付选项的范围。
- 新闻 认可 .
因此,在输入数据验证公式后,我们得到了以下下拉列表。
如果我们增加另一个名为 "支付 "的选项 比特币 ,那么这个选项将被自动添加到我们的列表中。
如何在Excel中自动填充下拉列表
借助于一个 VBA 代码,我们将从单元格的下拉列表中自动填入文本 D5 .
步骤-01 :创建一个下拉列表,一个组合框
首先,我们将在单元格中创建一个简单的下拉列表 D5 .
- 选择单元格 D5 然后到 数据 标签>>。 数据验证 组>>。 数据验证 .
然后,在 数据验证 向导将打开。
- 选择 列表 下的不同选项中选择。 允许 的范围,并选择在 来源 .
=$B$5:$B$10
这就是支付方式的范围。
- 新闻 认可 .
所以,我们已经成功创建了下拉列表。
现在,我们将插入一个组合框。
- 转到 开发商 标签>>。 插入 下拉式>>。 组合框(ActiveX控件) .
然后,一个 加 符号会出现。
- 向下拖动并向右移动 加 符号。
- 我们已经创建了一个 组合盒 的名称,记下它的名字,以便在代码中使用(该名称为 组合盒 是 框框1 ).
- 转到 开发商 标签>>。 设计模式 来停用 设计模式 .
步骤-02 : 编写VBA代码
现在,是时候插入我们的代码了。
- 右键点击 在你的工作表名称上,点击 查看代码 .
这样一来, Visual Basic编辑器 窗口将打开,以插入我们的代码。
- 输入以下代码 VBE
Sub Worksheet_SelectionChange(ByVal P_val As Range) Dim DList_box As OLEObject Dim Ptype As String Dim Dsht As Worksheet Dim P_List As Variant Set Dsht = Application.ActiveSheet On Error Resume Next Set DList_box = Dsht.OLEObjects("ComboBox1") DList_box.ListFillRange = " " DList_box.LinkedCell = " " DList_box.Visible = False If P_val.Validation.Type = 3 then P_val.Validation.InCellDropdown = False取消 = True Ptype = P_val.Validation.Formula1 Ptype = Right(Ptype, Len(Ptype) - 1) If Ptype = "" Then Exit Sub DList_box.Visible = True DList_box.Right = P_val.Right DList_box.Bottom = P_val.Bottom DList_box.Width = P_val.Width + 90 DList_box.Height = P_val.Height + 10 DList_box.ListFillRange = Ptype 如果DList_box.ListFillRange = "" Then P_List = Split(Ptype, ", " ) Me.ComboBox1.List = P_List End如果DList_box.LinkedCell = P_val.Address DList_box.Activate Me.ComboBox1.DropDown End If End Sub
代码分解
- 我们选择了 子程序 名称为 工作表_选择改变 ,因为 工作表 是表示床单和 选择改变 表示将运行代码的事件。 我们分类为 P_val 作为 范围 .
- 之后,我们宣布 列表_框 作为 鼠标 , P类型 作为 字符串 , Dsht 作为 工作表 ,以及 P_List 作为 变体 .
- 然后我们将活动工作表分配给 Dsht 的组合框,以及名为 框框1 至 列表_框 .
- 的价值。 数据验证类型 被选为 3 这表明 下拉式
- ǞǞǞ P类型 变量将存储用于活动工作表的数据验证的公式。
- 然后,我们固定了 下拉列表框 并且还提到了尺寸。
步骤-03 :在打字时获得结果
现在,我们将测试我们的代码。
- 现在,回到主工作表,并点击单元格 D5 在这里我们创建了我们的 下拉列表 .
- 开始打字 C 为 现金 ,然后你会注意到 现金 名字已经出现在单元格中 D5 .
- 现在,只要把你的光标放在另一个地方,这样组合框就会再次消失。
如何编辑基于Excel的下拉列表
你可以很容易地编辑你创建下拉列表所依据的范围。
例如,这里我们选择了整个范围的 支付类型 但是,现在我们只想让列表中的最后三个选项。 所以,我们必须编辑它。
阶梯 :
- 选择单元格 D5 然后到 数据 标签>>。 数据验证 组>>。 数据验证 .
现在 数据验证 对话框将被打开。
- 在这里,我们可以看到以下范围内的 来源 箱子。
=$B$5:$B$10
- 我们已将其改为以下范围。
=$B$8:$B$10
- 新闻 认可 .
最后,我们完成了编辑,改变了选项列表。
练习部分
为了自己练习,我们创建了一个 实践 每张纸右边的部分。
总结
在这篇文章中,我们讨论了不同的方法来 自动更新Excel中的下拉列表 希望这些方法对你有很大的帮助。 如果你有任何进一步的疑问,那么请在下面留言。