我试图在VBA中为excel编写一个程序来搜索"名称"列,如果该名称具有区分大小写的字符串" CAN&#34 ;在其中,然后将第6列的列添加到总数(canadaTotal)中。这就是我到目前为止......问题出在instr / isnumeric部分。我确定我错误地使用其中一个..如果有人可以提供替代解决方案或快速解决方案,我将不胜感激。
(提示......我不确定我是否可以使用我的"搜索"变量作为instr函数的第二个输入...)
ref="[1.live.0,)"
答案 0 :(得分:2)
你遇到的问题是Instr函数从位置1开始,而不是从位置0开始。
此外,如果找不到字符串,Instr将返回0,而不是非数字值,因此您的测试将始终为真。
此外,Instr的默认值是它不会搜索区分大小写。为了搜索区分大小写,您需要使用最后一个“compare”参数并将其设置为vbBinaryCompare。
将其更改为:
If Instr(1, search, "CAN", vbBinaryCompare) <> 0 Then
它应该有用。