【问题标题】:Validating cells in VBA excel在 VBA excel 中验证单元格
【发布时间】:2013-12-26 21:27:12
【问题描述】:

我正在创建一个将上传到数据库的电子表格,并且需要进行严格的验证。

我需要确保如果单元格 A2 中有文本,那么单元格 C2、D2、F2、G2 必须有数据。 我想用颜色来做到这一点 - 如果 A2 有文本,那么其他单元格突出显示为红色,直到它们包含文本,然后背景颜色变回白色。 (列出的单元格是必需的,并且必须包含一个值)。

此电子表格中将有大约 1000 多行,我已尝试使用数据验证进行此操作,但这需要我逐行进行。

【问题讨论】:

  • 您可以使用验证 .pasteSpecial(xlPasteValidation) 复制第一行。您需要有关如何操作的更多详细信息吗?

标签: excel vba validation conditional-formatting


【解决方案1】:

数据验证不需要您逐行进行,默认情况下 Excel 似乎可以做到这一点(通过使用美元符号修复行和列),但这很容易改变。

您可以做的是在条件格式中为您希望将其应用到的最顶层行创建一个公式,现在去掉公式中行号前面的美元符号并扩展适用范围对于您希望将其应用于的所有数千行。

您的 C2 公式为:=AND(LEN($A2)>0;LEN(C2)=0) 这可以应用于 C2:F2000:

或者您可以为 C1 (=AND(LEN($A1)>0;LEN(C1)=0)) 指定此公式并将其应用于 C:F。

不需要 VBA。

【讨论】:

  • 谢谢 - 我把这是条件格式框 - 我如何复制?
  • 在管理条件格式窗口中,您可以看到它应用到的范围(Applies to),只需将其更改为您想要的范围。用作条件的公式应适用于您放在那里的范围的最左上角的单元格。
  • 再次感谢 - 尽管遇到“您键入的公式包含错误”的问题 - 关于原因的任何想法?
  • 我已将其更改为逗号,但代码不起作用..已将其更改为:=" =AND(LEN($A2)>0,LEN(C2)=0) "
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-10-10
  • 1970-01-01
  • 2012-01-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多