The macro goes through the message and processes each found item - here as the content of a message box as I didn't know what you wanted to do with the found word. However you can only select one word at a time, so much depends on what you want to do with the word you have found. You can however process the range oWord as you wish each time it is found without selecting it.

If the word only appears once (or you want the last occurrence) you can change the msgBox reference
Do While .Execute(findText:=strText, MatchCase:=True) 
      Set oWord = oRng.Words(1) 
      MsgBox oWord.Text 
      oRng.collapse 0 
Loop
to
Do While .Execute(findText:=strText, MatchCase:=True) 
      Set oWord = oRng.Words(1) 
      oWord.Select 
      oRng.collapse 0 
Loop
and that will select the last instance of the word in the message. If you want to select the first instance then change oRng.collapse 0 for Exit Do and that will stop the loop after the first find.