Vanitaは、列Aの各セルにさまざまな文字の組み合わせを含むワークシートを持っています。彼は、そのリストから「適切な」単語、つまりスペルチェック辞書にある単語を抽出する方法を探しています。

列に単語のみが含まれている(スペース、句読点、句は含まれていない)とすると、次の方法でリストを手動で確認できます。

。列Aのコピーを列Bに作成します。これで2つの同一の列ができました。

。列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("A65536").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_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

link:/ excelribbon-ExcelTipsMacros [ここをクリックして、新しいブラウザタブでその特別なページを開きます]

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(2834)は、Microsoft Excel 97、2000、2002、および2003に適用されます。Excel(Excel 2007以降)のリボンインターフェイス用のこのヒントのバージョンは、次の場所にあります。

link:/ excelribbon-Extracting_Proper_Words [Extracting ProperWords]