frequency of characters within a string

N

Nick

I wish to to count the frequency of a character wthin a
string. Does anyone have any idea how this is possible?

My best guess so far is to create a loop using
application.worksheetfunction.find but this is rather
tedious.

Does anyone know if there is a function which will do it
for me? I have spent ages in the help files but cant find
much.

I know application.worksheetfunction.frequency is similar
to what I want but it needs an array entered into it
whilst I need to input cells(x, y).value

Any help would be much appreciated
 
B

Bill Lunney

AFAIK there isn't a nice inbuilt function to do this. Whatever does the job
it will equate to the process you described even if it's wrapped in a
function.

I'd do something like:

Public Function GetCharCount(vString As String, CheckChar As String) as
Integer
Count=0
For n=1 to len(vstring)
If mid(vstring,n,1)=CheckChar then Count = Count + 1
Next
GetCharCount=Count
End Function

Even if there is another of way of doing this the function takes about 2
minutes to write and the whole thing is done.


--

Regards,


Bill Lunney
www.billlunney.com
 
K

Keith Willshaw

Nick said:
I wish to to count the frequency of a character wthin a
string. Does anyone have any idea how this is possible?

My best guess so far is to create a loop using
application.worksheetfunction.find but this is rather
tedious.

Does anyone know if there is a function which will do it
for me? I have spent ages in the help files but cant find
much.

I know application.worksheetfunction.frequency is similar
to what I want but it needs an array entered into it
whilst I need to input cells(x, y).value

Any help would be much appreciated

In VBA its trivial

Public Function CountChar(myCell As Range, myChar As String) As Integer

Dim n As Integer
n = 1
CountChar = 0

While InStr(n, myCell.Text, myChar) <> 0
CountChar = CountChar + 1
n = InStr(n, myCell.Text, myChar) + 1
Wend


End Function
 
N

Nick

I didn't think that there was a function to do it.
Your function seems pretty solid.
I will be using it in the near future, thank you.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top