Vanita的工作表在A列的每个单元格中包含字母的不同组合。他正在寻找一种方法,从该列表中提取“正确”的单词,这意味着它们可以在拼写检查字典中找到。

假设该列仅包含单词(不包含空格,标点或短语),则可以通过以下方式手动检查列表:

。将A列的副本复制到B列。您现在拥有两个相同的列。

。选择列B并运行拼写检查。

。每次建议您进行拼写更改时,请接受。完成后,应将A列作为原始列,将B列作为A列的拼写检查版本。 。在C列中,输入公式= IF(A1 = B1,B1,“”),然后将公式复制下来。如果原始单词与单词的拼写检查版本匹配,则此公式仅在C列中显示单词。

。复制C列中的所有单词,然后使用“选择性粘贴”将“值”粘贴到另一个位置。现在,您有了一个有效拼写单词的列表。

如果您需要定期执行验证过程,则可能需要使用宏来创建最终列表。以下宏逐步浏览了A列中的单词列表,并清除了包含不在词典中的单词的所有单元格。检查所有单词后,然后删除所有清除的单元格。

Sub ExtractDictionaryWords()

Dim rWords As Range     Dim rCell As Range

Application.ScreenUpdating = False     Set rWords = Range(Range("A1"), _       Range("A1048576").End(xlUp))

For Each rCell In rWords         If Not Application.CheckSpelling(rCell.Value) Then             rCell.Clear         End If     Next     On Error Resume Next     rWords.SpecialCells(xlCellTypeBlanks). _       Delete (xlShiftUp)

On Error GoTo 0     Set rCell = Nothing     Set rWords = Nothing     Application.ScreenUpdating = True End Sub

请记住,该宏是故意破坏其行为的,这意味着它将清除单元格。如果您需要原始数据,则需要在数据副本上运行宏,而不是在唯一副本上运行宏。

注意:

如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。

链接:/ excelribbon-ExcelTipsMacros [点击此处在新的浏览器标签中打开该特殊页面]。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(11284)适用于Microsoft Excel 2007、2010、2013和2016。您可以在以下版本的旧版Excel菜单界面中找到此提示的版本:link:/ excel-Extracting_Proper_Words [Extracting Proper Words]