マレーは、セルB1へのデータの入力を制御する方法を必要としています。セルA1に大文字の「A」が含まれている場合、ユーザーはセルB1にデータを入力できるはずです。セルA1に大文字の「A」以外のものが含まれている場合、セルB1にデータ入力を許可せず、セルB1に「N / A」(エラー値#N / Aではなく、文字「N / A」)を表示する必要があります。 “)。

これを行うには2つの方法があります。 1つの方法は、A1に「A」が含まれているかどうかを確認するマクロを使用することです。含まれている場合、B1が以前に「N / A」に設定されていない限り、マクロはセルB1にあるものをすべて保持します。 (存在する場合、B1はクリアされます。)A1に「A」が含まれていない場合、セルB1にあるものはすべて文字「N / A」に置き換えられます。

Private Sub Worksheet_Change(ByVal Target As Range)

Dim sTemp As String

If Target.Address(False, False) = "A1" Or _       Target.Address(False, False_ = "B1" Then

'Store B1's text in variable         sTemp = Range("B1").Text

Application.EnableEvents = False         If Range("A1").Text = "A" Then             If sTemp = "N/A" Then Range("B1") = ""

Else             Range("B1") = "N/A"

End If         Application.EnableEvents = True     End If End Sub

これは単に1つのマクロベースのアプローチであることに注意してください。セルA1またはB1のいずれかが選択された場合に実行する動作に応じて、使用できる他の多くのアプローチがあります。このマクロの場合、ワークシートで何かが変更されるたびにトリガーされるように、ThisWorkbookモジュールに保存する必要があります。

使用できる他のアプローチには、マクロはまったく含まれていません。代わりに、条件付き書式に依存しています。次の手順に従ってください:

。セルB1を選択します。

。リボンの[ホーム]タブが表示された状態で、[スタイル]グループの[条件付き書式]オプションをクリックします。 Excelは、条件付き書式に関連するオプションのパレットを表示します。

。 [ルールの管理]をクリックします。 Excelは、[条件付き書式ルールマネージャー]ダイアログボックスを表示します。

。 [新しいルール]をクリックします。 Excelは、[新しい書式設定ルール]ダイアログボックスを表示します。

。ダイアログボックスの上部にある[ルールタイプの選択]領域で、[数式を使用してフォーマットするセルを決定する]を選択します。 (Excel2013およびExcel2016では、[新しいルール]をクリックし、[数式を使用して書式設定するセルを決定する]を選択します。)(図1を参照)

。 [この数式がTrueの場合の値のフォーマット]ボックスに、次のように入力します:= NOT(EXACT(LEFT(A1,1)、 “A”))。セルに含まれるセルの最初の文字として文字「A」が含まれていない場合、この数式はTrueを返します。

。 [フォーマット]をクリックして、[セルのフォーマット]ダイアログボックスを表示します。

。 [カテゴリ]リストで、[カスタム]を選択します。

。 [タイプ]ボックスに、「N / A」、「N / A」、「N / A」、「N / A」と入力します(図のように、引用符を必ず含めてください)。

。 [OK]をクリックして、[セルの書式設定]ダイアログボックスを閉じます。手順7で指定したフォーマットが、ルールのプレビュー領域に表示されます。

。 [OK]をクリックします。 [新しい書式設定ルール]ダイアログボックスが消え、Excelに[条件付き書式設定ルールマネージャー]ダイアログボックスが再び表示されます。定義したルールがダイアログボックスに表示されます。

。 [OK]をクリックします。 Excelは、条件付き書式をセルB1に適用します。

手順9で定義したカスタム形式により、値が数値(正、負、またはゼロ)の場合、Excelは文字「N / A」を表示します

またはテキスト。 4つの条件すべてを同じものに設定したため、すべての条件に「N / A」と表示されます。このアプローチは表示を変更しますが、それでもユーザーはセルB1に値を入力できます。セルA1の最初の文字が「A」でない限り、正しく表示されません。

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

このヒント(13457)は、Microsoft Excel 2007、2010、2013、および2016に適用されます。