ジェイコブは、セルをフォーマットして、値を入力したときに、所定のしきい値を超えている場合にしきい値が表示されるようにしたいと考えています。たとえば、セルが入力可能な最大数であるようにフォーマットされている場合、60を入力すると、セルには50が表示されます。

セルに表示される内容を変更するだけの場合は、次の方法で簡単なカスタム形式を作成できます。

。影響を与えるセルを選択します。 (これは、表示されるしきい値よりも大きくならないセルになります。)

。リボンの[ホーム]タブを表示します。

。番号グループの右下隅にある小さなアイコンをクリックします。

Excelに[セルの書式設定]ダイアログボックスが表示されます。

。 [番号]タブが選択されていることを確認してください。 (図1を参照)

。 [カテゴリ]リストのダイアログボックスの左側で、[カスタム]を選択します。

。ダイアログボックスの左側にある[タイプ]ボックスに、[赤] [> 50] “50”; 0の形式を入力します。 [OK]をクリックします。

このアプローチでは、セルに格納されている内容は変更されません。セルに表示される内容を変更するだけです。表示される最大値は50で、赤で表示されます。しきい値を超えた値がまだセルに格納されているという事実は、ワークシートに他の問題を引き起こす可能性があり、それは価値があるよりも多くの問題を引き起こす可能性があります。

Jacobの状況は通常、Excelのデータ検証機能を使用して処理されます。セル内の値が必要な範囲外にある場合の対処方法を示すルールを設定するだけです。

。しきい値を設定するセルを選択します。

。リボンの[データ]タブを表示します。

。 [データツール]グループで、[データ検証]ツールをクリックします。 (Excel2007またはExcel2010を使用している場合、データ検証ツールは[データ検証]グループにあります。)Excelは[データ検証]ダイアログボックスを表示します。 (図2を参照)

。 [許可]ドロップダウンリストを使用して、[整数]を選択します。 Excelは、ダイアログボックスで使用できるコントロールを変更します。

。 [データ]ドロップダウンリストを使用して、[未満]または[等しい]オプションを選択しました。

。 [最大]ボックスに値50を入力します。

。ダイアログボックスの他のタブで、必要に応じて入力メッセージとエラーメッセージを入力します。

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

これにより、誰かがセルに0〜50の値しか入力できないようになります。この範囲外の値を入力しようとすると、指定したエラーメッセージ(手順7)が表示され、ユーザーは別の値を入力することができます。

ただし、このアプローチでは、セル内の値をしきい値に変更したいだけなので、Jacobの要望を満たせない場合があります。この場合、マクロを使用する必要があります。使用できる簡単なものは次のとおりです:

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("B7")) Is Nothing Then         If Target > 50 Then Target = 50     End If End Sub

このマクロは、イベントハンドラーとして実装されます。これを使用するには、ワークシートのタブを右クリックして、表示されるコンテキストメニューから[コード]を選択します。次に、上記のマクロをそのコードウィンドウに貼り付けることができます。また、マクロに注意を向けさせるセルを変更する必要があります。書かれているように、セルB7に値を入力しようとした場合にのみ動作します。

注:

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

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

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

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