Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations cowski on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

Check Misspellings in data

Status
Not open for further replies.

GrahamG

Structural
Joined
Apr 24, 2009
Messages
3
Location
GB
I don't know if anyone will find this useful but I recently had to clean some data of misspellings before I could use it with VLOOKUP. I found some VBA that highlighted the misspellings but nothing to extract the actual words. Eventually with some prompts I wrote the following:-

Sub CheckSpelling
'Checks a single column of data for misspellings in the string in each cell/row
'Puts misspelled words in next column
Dim CurCell As Object
Dim strCell As String
Dim vString As Variant
Dim arrWords() As String
Dim intCount As Integer

If Selection.Columns.Count > 1 Then
MsgBox "Too many columns selected"
Exit Sub
End If

Application.ScreenUpdating = False
Application.Cursor = xlWait

intCount = 1
strCell = ActiveCell.Address

For Each CurCell In Selection
For Each vString In Split(CurCell)
If Not Application.CheckSpelling(vString) Then
ReDim Preserve arrWords(intCount)
arrWords(intCount) = vString
intCount = intCount + 1
End If
Next vString
Next CurCell

If intCount > 1 Then
Dim Destination As Range
Set Destination = Range(strCell).Offset(0, 1)
Set Destination = Destination.Resize(UBound(arrWords), 1)
Destination.Value = Application.Transpose(arrWords)
Else
MsgBox ("No misspelled words found!")
End If

Application.Cursor = xlDefault
Application.ScreenUpdating = True

End Sub

GrahamG
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top