Hi Basia!
Try using this function:
Dim strTrimmed As String
Dim intCount As Integer
Dim lngSpace As Long
Dim lngNextSpace As Long
strTrimmed = Trim(YourTextBox.Value)
intCount = 1
lngSpace = InStr(strTrimmed, " "

lngNextSpace = InStr(lngSpace, strTrimmed, " "

Do Until lngNextSpace = 0
intCount = intCount + 1
lngSpace = lngNextSpace
lngNextSpace = InStr(lngSpace, strTrimmed, " "

Loop
After the loop runs intCount will hold the number of words in YourTextBox assuming that each word is separated by a space and there are no other internal spaces in the text box. The trim function will take care of any external spaces. There are several good find and replace functions on the site the you could use to replace " " with " " if you want to. Of course there would then be the question are there any " " etc. If it is important to you can make this change in the loop:
Do Until lngNextSpace = 0
intCount = intCount + 1
lngSpace = lngNextSpace
lngNextSpace = InStr(lngSpace, strTrimmed, " "

Do Until lngNextSpace - lngSpace <> 1
lngSpace = lngNextSpace
lngNextSpace = InStr(lngSpace, strTrimmed, " "

Loop
Loop
hth
Jeff Bridgham
bridgham@purdue.edu