我现在有个任意字符串比如像:mnuVouchImport!@#$%^&*凭证导入!@#$%^&*Import Voucher 
现在要做的事情就是找出"!@#$%^&*"这些字符串所在的位置,比如第一个“!@#$%^&*”的位置为15,第二个“!@#$%^&*”的位置为27   (字符串中“!@#$%^&*”出现的次数是不定的!!)
请问这种问题该如何解决,最好是有代码 !!
在线等!!
谢谢!

解决方案 »

  1.   

    dim d as long 
    k=instr( "mnuVouchImport!@#$%^&*","!@#$%^&*")
      

  2.   

    dim k as long 居然写错了`~在网吧~键盘不好用
      

  3.   

    你这么只能返回第一个“!@#$%^&*”的位置呀,那第二个第三个又该如何返回呢??
      

  4.   

    Dim s As String, i As Long
    s = "mnuVouchImport!@#$%^&*凭证导入!@#$%^&*Import Voucher "
    i = InStr(1, s, "!@#$%^&*")
    While i > 0
        Debug.Print i
        i = InStr(i + 8, s, "!@#$%^&*")
    Wend
      

  5.   


    dim k as long 
    dim j as long 
    dim q as long 
    do while instr(str,temp)
    q = q+1
    redim yy(q) as long 
    j= instr(str,temp)
    k = k +j  
    yy(q-1) = k   '位置
    str = right(str,len(str) - instr(str,temp))
    loop卡没钱了~~
      

  6.   


    Thank you very much !!
    果然是VB老鸟呀 哈哈!!(开个玩笑)
    这个问题已经在您老人家的指导之下搞定了 真是太感谢你了!!