vivka,
Your code is better (fixes the problems), but looking at every word regardless if spelled wrong or not, could take a long time in large documents. I mean why back up one word at at time?
Try:
Code:
Sub FindPreviousMisspelledWord()
Dim oRng As Range
Set oRng = Selection.Range
With oRng
While .Start <> 0
.Collapse 1
.Start = ActiveDocument.Range.Start
.MoveStart wdWord, -1
If .SpellingErrors.Count > 0 Then
.SpellingErrors(.SpellingErrors.Count).Select
Exit Sub
End If
Wend
End With
MsgBox "No misspelled words found."
lbl_Exit:
Exit Sub
End Sub