Returns the number of values (fields) in the string passed that are separated by the separator string passed. If the source string is binary data or you require case-sensitivity, use CountFieldsB instead.
|result||Integer||The number of values in source that are separated by separator.|
|source||String||The original string.|
|separator||String||The character or characters that separate the values in source.|
The CountFields function is useful for reading columns of data from a text file where the columns (fields) are delimited with a specific character or characters.
If the separator is not found within source, CountFields returns 1. If source is null, CountFields returns zero.
|NOTE: Using CountFields in a loop to extract fields from a string is inefficient. You should use Split and Ubound for this purpose.|
The example below returns 5.
Dim s As String
s = "Dan*Smith*11/22/69*5125554323*Male"
count = CountFields(s, "*")
The following example returns three because it counts the null "field" after the (unnecessary) final field delimiter.
Dim i, last As Integer
Dim d As New Date
s = "January,February,March,April,May,June,July," _
last = CountFields(s,",")
For i = 1 To last
Me.AddRow(NthField(s, ",", i))
Me.ListIndex = d.Month - 1