instr只能找到第一次出现的位置,还有没有函数能算出一个字符在一字段里共出现有几次的??

解决方案 »

  1.   

    我帮你写了个函数,你看看,,抵不抵用Function InStrTime(ByVal str As String, ByVal find As String) As Integer
        Dim iCount As Integer
        Do While InStr(str, find)
            str = Mid(str, InStr(str, find) + 1)
            iCount = iCount + 1
        Loop
        InStrTime = iCount
    End Function
      

  2.   

    i=len(s)-len(replace$(s,"?",""))debug.print "共出现“?”:" & i & "次"
      

  3.   

    改一下
    这样就不错了Function InStrTime(ByVal str As String, ByVal find As String) As Integer
        InStrTime = (Len(str) - Len(Replace(str, find, ""))) / Len(find)
    End Function
      

  4.   

    呵呵!这么快就消化成自己的东西了!支持!
    不过该用“\”,而不是“/”,效率会高得多,这一点建议养成好习惯!方法当然有很多,上面只是举了一例!
    看看下面的方法,是不是也有些价值:i=UBound(Split(s, "?"))debug.print "共出现“?”:" & i & "次"