Hello John,
Here is the solution. I ran it against the data the posted and the results match. Give a try on a copy of the actual data and let me know what happens.
Sub ExtractCapWordsOnly()
Dim C As Long
Dim R As Long
Dim RegExp As Object
Dim Rng As Range
Dim RngEnd As Range
Dim S As String
Dim T As Variant
Dim Text As String
Set Rng = Range("B1")
Set RngEnd = Cells(Rows.Count, Rng.Column).End(xlUp)
Set Rng = IIf(RngEnd.Row < Rng.Row, Rng, Range(Rng, RngEnd))
C = Rng.Column
Set RegExp = CreateObject("VBScript.RegExp")
RegExp.Global = True
RegExp.IgnoreCase = False
RegExp.Pattern = "([A-Z]\w+)"
For R = Rng.Row To Rng.Rows.Count + Rng.Row - 1
S = Cells(R, C).Text
If RegExp.Test(S) Then
Set Matches = RegExp.Execute(S)
For I = 0 To Matches.Count - 1
Text = Text & Matches(I) & " "
Next I
Cells(R, C - 1) = Trim(Text)
Text = ""
End If
Next R
Set RegExp = Nothing
End Sub
Bookmarks