Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.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
Excel 如果单元格以'开头;z';然后';Q';其他';A';_Excel_Vba - Fatal编程技术网

Excel 如果单元格以'开头;z';然后';Q';其他';A';

Excel 如果单元格以'开头;z';然后';Q';其他';A';,excel,vba,Excel,Vba,我想检查B列最后一行的单元格B5的值是否以小写的z开头。如果是这样,我想将给定行的列S的值设置为Q,如果列B的值以任何其他字符开头,我希望列S的值为A。以下是我尝试过的不起作用的 Range("S5:S" & lRow).Formula = "=IF(LEFT(B5,1)=""z"",""Q"",""A""))" 范围“S5:S”错误 将其替换为“S:S”您有一个太多的“)”,并且您希望使用EXACT() 使用: 尝试以下操作: Range("S5:S" & lRow).For

我想检查B列最后一行的单元格B5的值是否以小写的z开头。如果是这样,我想将给定行的列S的值设置为Q,如果列B的值以任何其他字符开头,我希望列S的值为A。以下是我尝试过的不起作用的

Range("S5:S" & lRow).Formula = "=IF(LEFT(B5,1)=""z"",""Q"",""A""))"
范围“S5:S”错误 将其替换为“S:S”

您有一个太多的“)”,并且您希望使用EXACT()

使用:

尝试以下操作:

Range("S5:S" & lRow).Formula = "=IF(EXACT(LEFT(B5,1),""z""),""Q"",""A"")"

Exact
允许您比较两个区分大小写的字符串。

什么不起作用?该行不执行,它从子行中断。当它中断时,
IRow
的值是多少?末尾有一个太多的
。@ScottCraner 34
范围(“S5:S”&lRow)
只要
IRow
不小于1,它就是正确的。否,S5是我的起始单元格。@ScottCraner正确,并且lrow在sub的前面被验证为不小于1,并且我有其他公式语句使用它,没有问题。关闭Scott,但EXACT的操作与all或nothing类似。我的B列值将始终包含多个字符,我只是尝试检查第一个位置的小写z。精确值中的左侧应该只比较第一个字母。它不会。它什么也不返回,不是Q或a。明白了Range(“S5:S”和lRow).Formula=“=IF(精确的(左(B5,1),“z”),“Q”,“A”)是解决方案。这不是Scott提供的精确公式吗?
Range("S5:S" & lRow).Formula = "=IF(EXACT(LEFT(B5,1),""z""),""Q"",""A"")"