请问用什么函数可以求得在一个字符在字符串中出现在的次数?

解决方案 »

  1.   

    Private Sub Command1_Click()
        MsgBox CountChar("e", "abcdabcdabcdabcdabcdabcd")
    End SubPrivate Function CountChar(ByVal iChar As String, ByVal isSearch As String) As Long    Dim l   As Long
        Dim i   As Long
        Dim x   As Long
        Dim c   As Long
        
        l = Len(isSearch)
        x = 1
        
        
        Do
        
           i = InStr(x, isSearch, iChar)
            
            If i <> 0 Then
            
                x = i + 1
                c = c + 1
                
            End If
        
        Loop While (i <> 0)
        
        CountChar = cEnd Function
      

  2.   

    只能自己写,给你一个简单的:
    Option ExplicitPrivate Function Countsubstr(ByVal SubStr As String, ByVal SearchStr As String) As Long
        Dim arr As Variant
        arr = Split(SearchStr, SubStr)
        Countsubstr = UBound(arr)
    End FunctionPrivate Sub Command1_Click()
        MsgBox Countsubstr("a", "abcdabcdabcdabcdabcdabcd")
    End Sub
      

  3.   

    又一个:
    Option ExplicitPrivate Function Countsubstr(ByVal SubStr As String, ByVal SearchStr As String) As Long
        Dim temp As String
        If Len(SubStr) = 0 Then
            Countsubstr = -1
            Exit Function
        End If
        temp = Replace(SearchStr, SubStr, "")
        Countsubstr = (Len(SearchStr) - Len(temp)) / Len(SubStr)
    End FunctionPrivate Sub Command1_Click()
        MsgBox Countsubstr("a", "abcdabcdabcdabcdabcdabcd")
    End Sub