【问题标题】:How to create a simple, dynamic list within the cells of a column如何在列的单元格中创建一个简单的动态列表
【发布时间】:2020-03-02 09:59:36
【问题描述】:

情况如下:我有一个包含两列 A 和 B 的电子表格。每列的单元格使用 Excel 的数据验证在其中有一个下拉列表。

A 的单元格有一个下拉列表,其值为 [0, 1, 2, 3]。 B 的单元格有一个下拉列表,其值为 [True, False]。

我想根据同一行 A 列中单元格的选定值来调整 B 列单元格中列表的值。

这正是我想要实现的:如果 A 中的一个单元格的值为 0 或 1,那么同一行 B 中的单元格的下拉列表将只有一个值,[True]。否则,同一行 B 中的单元格为 [True, False]。就是这样。

我的职业是程序员,但我对 VBA 感到谦卑。我将非常感谢任何解决方案,无论它是否需要使用 VBA。谢谢。

【问题讨论】:

标签: excel vba spreadsheet


【解决方案1】:

试试这个:

H1:  TRUE
H2:  FALSE

B1中的验证公式:

=OFFSET($H$1,0,0,IF($A1<2,1,2))

或者,对于非易失性公式:

=INDEX($H$1:$H$2,IF($A1<2,1,0))

在 B 列中根据需要复制/粘贴特殊验证

【讨论】:

  • 谢谢。我从这些回复中收集到的以及我一直在网上搜索的内容是,为了实现我的目标,我将不得不修改电子表格中的一些单元格,其唯一目的是存储 TRUE 和 FALSE。目前,这不是下拉列表的填充方式,而是它们只是在“数据验证”对话框中使用“源”文本字段来表示“真”、“假”。这将创建列表,而无需将 True 或 False 添加到电子表格中的任何单元格。我更愿意保持这种行为,因为这个 excel 表将被发送给应用程序的用户。但是没有办法吗?
  • @gfitz 这可能是最简单的方法。你可以把你的清单放在一个隐藏的、计划好的表上以便分发。您还可以使用 VBA 和事件触发的宏来动态更改列表。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-23
  • 2022-06-27
  • 1970-01-01
  • 2012-03-27
  • 1970-01-01
  • 2012-08-23
相关资源
最近更新 更多