Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
验证VBA excel中的单元格_Excel_Vba_Validation_Conditional Formatting - Fatal编程技术网

验证VBA excel中的单元格

验证VBA excel中的单元格,excel,vba,validation,conditional-formatting,Excel,Vba,Validation,Conditional Formatting,我正在创建一个电子表格,它将被上传到一个数据库,需要进行严格的验证 我需要确保如果单元格A2中有文本,那么单元格C2、D2、F2、G2中必须有数据。 我想用颜色来做这件事——如果A2有文本,那么其他单元格将高亮显示为红色,直到它们包含文本,然后背景颜色变回白色。(列出的单元格是必需的,必须包含一个值) 此电子表格中大约有1000多行,我已尝试使用数据验证,但这需要我逐行进行。数据验证不需要您逐行进行,默认情况下Excel似乎可以做到这一点(通过用美元符号固定行和列),但这很容易更改 您可以做的是

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

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


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

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

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

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

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


不需要VBA。

您可以使用validation.pasteSpecial(xlPasteValidation)复制第一行。您是否需要有关如何执行此操作的更多详细信息?谢谢-我是否将此框放置在“条件格式”框中-我如何进行复制?在“管理条件格式”窗口中,您可以看到应用此设置的范围(
应用于
),只需将其更改为所需的范围。用作条件的公式应适用于您放置的区域的最左上角的单元格。再次感谢-尽管出现了“您键入的公式包含错误”的问题-您知道原因吗?我已将其更改为逗号,代码不起作用。。它已将其更改为:=“=和(LEN($A2)>0,LEN(C2)=0”