2016-09-01 4 views
0

私は日付の列を持つワークシートを持っています。その列のデータは、ワークシートの名前に基づいて検証されます。たとえば、「Jan 2016」という名前のワークシートでは、2016年1月1日〜1月31日の日付のみが表示されます。Excelでデータ検証用の数式/変数エラーアラートが許可されていますか?

月に一度、ユーザーはワークブックにテンプレートをコピーし、今月の名前を付けます。

「[MONTH] 1〜[MONTH] [LAST_DAY_OF_MONTH]、[YEAR]」の間に日付を入力する必要があるという妥当性検査のエラーが自動的に表示されるかどうか不思議です。

ワークシート名の変更をチェックし、その時点で検証パラメータを設定するVBAトリガを使用してこれを行うことができますが、VBAなしでこれを実行できるかどうか不思議です。

私は、「エラーメッセージ」フィールド(データの検証>エラーアラート)に式を入力しようとしたが、それは文字通り私にこのようなエラーを与えて式を表示:

$ A $ 1

は続行しますか?

私はここでエクセル2016

+0

あなたの唯一の選択肢は、ワークシートのセルに数式としてメッセージを入れることだと思います。 –

答えて

0

が非VBA方法ですが...

fillに条件付き書式を使用するセルの赤(または任意の「怖い色」)、ユーザはその日付を入力現在のシートの月にはありません。

この例は、来月のセットアップに非常に簡単です。日付を変更するだけです。私のものは下のセルC2です。

方法イットワークス:

  1. 月 - 現在のシートの月を表示するセルを検索します。私のものはC2以下です。
  2. FirstDate - ユーザーが最初の日付を入力するFIRSTセルを検索します。鉱山は以下のC6にあります。
  3. ユーザーが日付を入力する最後のセルからFIRST日付を入力するFIRSTセルを選択します。私のものはC6:C9です。エクセルリボンの
  4. 、ホームにナビゲート>条件付き書式設定]> [新規ルール
  5. を選択し、次の式を入力
  6. 「形式にどのセルを決定するための式を使用して」:=IF([FirstDate]="",FALSE,OR(EOMONTH([Month],0)<[FirstDate],EOMONTH([Month],-1)>=[FirstDate])) NOTE - と交換[月]を上記の手順1からのABSOLUTE $$参照セル。 [FirstDate]を上記の手順2のRELATIVE参照セルに置き換えます。
  7. ボタンをクリックしてred fillinvalidの日付を書式設定します。
  8. [OK]をクリックしてテストします。 enter image description here
関連する問題