Merleは、Excelのデータ検証機能を使用して、ユーザーがセルで選択できるものを制限しようとしています。ユーザーがセルをアクティブ化すると、「はい」、「いいえ」、または「N / A」の回答のみが必要になります。彼は、ユーザーがセルから出て空白(空)のままにできることを望んでいません。 Merleは、許容値(Yes、No、およびN / A)のリストを設定し、データ検証を設定するときに[IgnoreBlanks]チェックボックスをオフにしました。

問題は、誰かがセルをアクティブ化したときに、まだ空のままにしておくことができるということです。 Excelでセルを空白のままにできないのは、セルの編集を開始し、編集後に空白のままにしようとした場合のみです。 Merleは、セルが選択されると、ユーザーが[はい]、[いいえ]、または[N / A]を選択した場合にのみ、セルを完全に離れることができるようにしたいと考えています。

データ検証だけでは、これを処理することはできません。ただし、問題を回避する方法はいくつかあります。最初のアイデアは、ユーザーに提供するオプションを変更することです。たとえば、「回答を提供する」の4番目の選択肢を追加するとします。次に、セルの値を同じ値に変更して、ブックを保存できます。ユーザーがセルを開くと、セルには「回答の提供」が含まれ、セルを選択すると、セルを空白にすることはできません。彼らは答えを提供する必要があります。

もう1つのオプションは、設定したデータ検証と組み合わせてマクロを使用することです。最も簡単な方法は、ワークシートで選択が変更されるたびにイベントハンドラーを設定することです。次の例は、セルの選択がC22(データ検証も必要な場所)の場合に機能します。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim rng As Range     Set rng = Range("C22")

If Application.Intersect(Target, rng) Is Nothing Then         MsgBox "You must select the answer from the list"

End If End Sub

注:

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

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

このヒント(8767)は、Microsoft Excel 97、2000、2002、および2003に適用されます。