首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在excel 2010中,是否可以基于单个单元格中的字符串进行数据验证?

在excel 2010中,是否可以基于单个单元格中的字符串进行数据验证?
EN

Stack Overflow用户
提问于 2016-11-30 22:41:41
回答 1查看 339关注 0票数 0

我正在Excel中构建一个基于父子结构的多级依赖下拉结构。使用vba构建它不是问题,但问题是重新打开文件。它会删除验证,因为它们包含的字符太多(超过255?)

生成的验证字符串太长,Excel无法存储,因此将在重新打开后将其删除。

一种解决方案是将验证字符串写入单元格,并基于此单元格值进行验证。唯一的问题是,当我将数据验证链接到这个单元格时,它是唯一的选择。

单元格中的值类似于A、B、C、D(已尝试使用或不使用"")

有没有人建议在数据验证中使用excel公式,以便从位于单个单元格中的A、B、C、D等字符串生成多个选项。

EN

回答 1

Stack Overflow用户

发布于 2017-02-08 00:37:05

TNX用于支持。

解决方案要困难一点。

我能够使它工作,但只能通过组合VBA和Excel公式。另外,我在dataSource中添加了一个同时包含id和optionid的值。

Excel:

对于数据验证,我使用了一个使用偏移量的函数,该偏移量是动态的,基于2个值。这样我就不会得到验证超过255个字符的错误。

数据验证公式:=OFFSET(List!$A$2;MATCH(CONCATENATE(V18;"|";E18);List!$F:$F;0)-2;1;COUNTIF(List!$F:$F;CONCATENATE(V18;"|";E18)))

一个是id,另一个是optionid。

VBA:

我现在使用on change事件来生成dropdowns(数据验证)所需的值,但不让vba插入用于数据验证的值。它通过一个预加载数组获取这些值,该数组以workbook_open事件启动。(如果没有加载,它会再次加载)。

当我选择一个项目时,它会将id和optionid写入不同的单元格。然后,我使用它们通过offset函数生成下一个dropdowns等。(一个下拉列表可能会导致多行新的下拉列表)

  • 还为删除和更改(中间)事件添加了一些功能。
  • 现在,如果只有一个选项,onChange事件将触发下一个dropdown,并写入它的值。这当然会触发下一次。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40891180

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档