比如:
Dim Str1 as String
Dim TempStr as String
Str1="0,1,5,9,11,19,50,60,40,8,90"当TempStr="4"时,我要判TempStr这个是否包含在Str1中简单的用
Instr(Str1,TempStr)
这就是不行的了.因为Str1中并没有包含4只是包含了40所以...但有:Instr(Str1,TempStr&",")
就可以判断到确实的TempStr不包含Str1中!可是,如果TempStr="90"时,用Instr(Str1,TempStr&",")又行不通了.所以.在此求解此方法!

解决方案 »

  1.   

    instr是把引号中间的全部内容看作字符串的.
    你有40当然能找到4了.如果全部是数字,你可以用split函数,用逗号分开存入数组后.
    按次序比较.
      

  2.   

    而且你Instr(Str1,TempStr&",")是在str1里面找TempStr&","你的tempstr="90",TempStr&","就是"90,"所以,你写的其实是,instr(str1,"90,"),的确找不到,没有错啊
      

  3.   

    呵呵.由于循环的过次需要非常多遍!所以用split不太好!我说的instr(str1,"90,")这样是没错.所以,我说这种方法也不行.才寻找方法的.!
      

  4.   

    TO: libralibra我的意思跟daydayupo一样!
      

  5.   

    的确很麻烦,因为即使你使用instr(str1,"90,"),当字符串是
    "0,1,5,9,11,19,50,60,40,8,190"时,仍然会出现错误结果.
    如果的确不想用split,就最好把字符串变成以下格式:
    ",0,1,5,9,11,19,50,60,40,8,190,"
    然后用instr(str1,",90,")去查找...
    不过这样仍然可能有问题,就是不知道你需要的是不是数值,例如:
    instr(str1,",04,")和
    instr(str1,",4,")会有不同结果,但其实它们都表示数值4..
    根据你的实际情况修改一下吧......
      

  6.   

    看来lsftest所言即时....虽然我用于判断的不是数值,是字符!也只有此办法了...呵呵!Thank you!