试图在Isnumeric中使用嵌套的Instr函数

时间:2015-06-23 15:51:48

标签: excel vba

我试图在VBA中为excel编写一个程序来搜索"名称"列,如果该名称具有区分大小写的字符串" CAN&#34 ;在其中,然后将第6列的列添加到总数(canadaTotal)中。这就是我到目前为止......问题出在instr / isnumeric部分。我确定我错误地使用其中一个..如果有人可以提供替代解决方案或快速解决方案,我将不胜感激。

(提示......我不确定我是否可以使用我的"搜索"变量作为instr函数的第二个输入...)

ref="[1.live.0,)"

1 个答案:

答案 0 :(得分:2)

你遇到的问题是Instr函数从位置1开始,而不是从位置0开始。

此外,如果找不到字符串,Instr将返回0,而不是非数字值,因此您的测试将始终为真。

此外,Instr的默认值是它不会搜索区分大小写。为了搜索区分大小写,您需要使用最后一个“compare”参数并将其设置为vbBinaryCompare。

将其更改为:

 If Instr(1, search, "CAN", vbBinaryCompare) <> 0 Then

它应该有用。