マレーネは教師であり、単語検索が大好きな生徒がいます。彼女はそれらを作るのにかなり時間がかかると感じていますが、彼女がそれらを使うとき、学生はコース資料をはるかによく覚えているようです。 Marleneは、AからZまでのアルファベットの文字でセルの範囲をオートフィルする方法があるかどうか疑問に思いました。そうすれば、この機能を使用して、単語検索の四角を文字で埋めてから、それらの文字の一部を検索される実際の単語。

Excelのオートフィルツールには、日付や数値シーケンスなど、自動的に入力されるいくつかの標準シーケンスがあります。ただし、オートフィルの非常に強力な部分は、ツールが組み込みシーケンスと同じくらい簡単に使用するカスタムリストを作成できることです。カスタムリストを手動で作成するには、次の手順に従います。

。 [Excelのオプション]ダイアログボックスを表示します。 (Excel 2007では、[Office]ボタンをクリックし、[Excelオプション]をクリックします。Excel2010およびExcel2013では、リボンの[ファイル]タブを表示し、[オプション]をクリックします。)

。 Excel 2007を使用している場合は、ダイアログボックスの左側で[人気]が選択されていることを確認してください。 Excel2010またはExcel2013を使用している場合は、画面の左側にある[詳細設定]をクリックし、[全般]領域まで下にスクロールします。

。 [カスタムリストの編集]をクリックします。 Excelは、[カスタムリスト]ダイアログボックスを表示し、[Excelオプション]ダイアログボックスを非表示にします。 (図1を参照)

。ダイアログボックスの左側にある[カスタムリスト]リストから[新しいリスト]オプションを選択します。

。 [エントリのリスト]ボックスに、アルファベットの各文字を1行に1文字ずつ入力します。 (入力する各文字の後にEnterキーを押します。)

。完了したら、[追加]ボタンをクリックします。

。 [OK]をクリックして終了します。

新しく作成したカスタムリストを使用するには、シーケンスを開始する1文字または2文字を入力し、それらのセルを選択し、オートフィルハンドルを使用して、入力するセルをいくつでもドラッグします。

ダイアログボックスに26文字を入力したくない場合に備えて、少し簡単なカスタムリストを作成する別の方法があります。代わりに、すでに26個のセルにアルファベットの文字がある場合は、次の手順に従います。

。アルファベットの文字を含むセルを選択します。

。 [Excelのオプション]ダイアログボックスを表示します。 (Excel 2007では、[Office]ボタンをクリックし、[Excelオプション]をクリックします。Excel2010およびExcel2013では、リボンの[ファイル]タブを表示し、[オプション]をクリックします。)

。 Excel 2007を使用している場合は、ダイアログボックスの左側で[人気]が選択されていることを確認してください。 Excel2010またはExcel2013を使用している場合は、画面の左側にある[詳細設定]をクリックし、[全般]領域まで下にスクロールします。

。 [カスタムリストの編集]をクリックします。 Excelは、[カスタムリスト]ダイアログボックスを表示し、[Excelオプション]ダイアログボックスを非表示にします。また、手順1で選択したセルの範囲が[インポート]ボタンのすぐ左に表示されていることにも注意してください。

。 [インポート]ボタンをクリックします。 Excelは、選択したセルの内容をカスタムリストとして追加します。

。 [OK]をクリックします。

もちろん、カスタムリストを使用することには、特に単語検索の作成に関して1つの欠点があります。空白の正方形に追加される文字は常に予測可能な順序であるため、実際の単語を必要以上に簡単に見つけることができます。パズルをもう少しやりがいのあるものにするには、単語以外の正方形をランダムな文字で埋める方がよいでしょう。

ランダムな文字を取得する簡単な方法の1つは、次の式を使用することです。

=CHAR(RANDBETWEEN(65,90))

この式が機能するのは、RANDBETWEEN関数が、指定された2つの境界値の間のランダムな数値を返すためです。この場合、65から90までの値を返します。これは、それぞれ文字AとZのASCII値です。次に、CHAR関数を使用して、このランダムな数値を実際の文字に変換します。

単語検索パズルをたくさん作成する場合は、マクロを使用して、セルの範囲をアルファベットのランダムな文字で埋めることができます。

このようなマクロを組み合わせる方法はいくつもあります。以下は特に柔軟なものです。事前に選択された範囲(マクロの実行時に選択された範囲)で機能するか、マクロの実行後に範囲を選択できます。

Sub AlphaFill()

Dim Cell, CellChars     Dim Default, Prompt, Title     Dim rangeSelected As Range     Dim UpperCase As Boolean

Title = "AlphaFill Cell Selection"

Default = Selection.Address     Prompt = vbCrLf _       & "Use mouse in conjunction with " _       & "SHIFT and CTRL keys to" & vbCrLf _       & "click and drag or type in name(s) " _       & "of cell(s) to AlphaFill" & vbCrLf & vbCrLf _       & "Currently selected cell(s): "

& Selection.Address

On Error Resume Next     Set rangeSelected = InputBox(Prompt, Title, _       Default, Type:=8)

If rangeSelected Is Nothing Then Exit Sub

UpperCase = True     Randomize     For Each Cell In rangeSelected         CellChars = Chr(64 + Int((Rnd * 26) + 1))

If Not UpperCase Then CellChars = LCase(CellChars)

Cell.Value = CellChars     Next End Sub

記述されているマクロコードは、指定した範囲に大文字を挿入します。代わりに小文字を使用する場合は、UpperCase変数をTrueではなくFalseに設定するだけです。

注:

このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

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

このヒント(7803)は、Microsoft Excel 2007、2010、および2013に適用されます。Excelの古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります。