Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations waross on being selected by the Tek-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
Apr 24, 2009
3
0
0
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.
Back
Top