エクセル2003で入力規則を使った場合、思った結果が出ない
A1セルに日付を入力します。但し入力規則を使って指定期間のみ入力可能としています。
指定期間とはB1セルとB2セルの日付の期間という意味です。
例えば、B1セルに2010年7月10日-B2セルに2010年8月10日とあれば、両日を含む、その期間です。
但し、B1セルとB2セルに入る日付はVLOOKUP関数にて別のシートより転送しています
(ファームコントロールボタンを使って)
そこで、A1セルに日付2010年7月15日を入力することが出来ます。
また、指定期間外(例-2010年7月9日)で入力すると、指定期間しか入力できませんと
エラーメッセージがでます。
ここで
A1セルより先に、B1セルとB2セルに日付が入ってる場合は、A1セルに入力規則通りの効果があるのですが
A1セルに日付が入力されたままで、ファームコントロールボタンを使いB1セル、B2セルに違う日付を選ぶと
A1セルの日付が期間外でも残ってしまいます。
この場合でも、A1セルに入力出来ないように、且つエラーメッセージが出るように出来ないでしょうか。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
一般機能における妥協案です。
A1セル ユーザー設定
=AND(B1<=A1,A1<=B2,B1<>"",B2<>"")
[ ]空白を無視する のチェックを外す
さらに、B1,B2セルには =A1="" と作りたいところですが、、、
>VLOOKUP関数にて別のシートより転送しています
なのでボツ
さらに(ファームではなく)[フォーム]のコントロールは入力規則が及びません。
よって、条件付き書式で指定期間外になった場合、
セルの色を赤くするなどの処置をとってはいかがでしょうか
また、たとえばA2セルに
=IF(COUNT(A1,B1:B2)<>3,"",IF(AND(B1<=A1,A1<=B2),"","◆指定期間外◆"))
なんて数式も入れておくとよいかもしれません
No.3
- 回答日時:
ワークシートのオブジェクトに、以下のコードを貼り付けてはいかがでしょうか。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Ret As Long
If Range("A1").Value = "" Then Exit Sub
If Range("A1").Value < Range("B1").Value Or Range("A1").Value > Range("B2").Value Then
Ret = MsgBox("入力した値は正しくありません。" & vbCrLf & vbCrLf & "ユーザーの設定によって、セルに入力できる値が制限されています。", vbCritical)
Range("A1").Value = ""
Range("A1").Select
End If
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel 関数 数式 について 2 2022/09/02 21:45
- Excel(エクセル) 【マクロ】ボタンを押すごとに、A1セル、A2セル、A3セルに日付を入力 3 2023/01/25 00:12
- Excel(エクセル) エクセルで、特定のセルの内容を更新すると、別の特定セルに 更新日付が自動的に表示させる方法はあります 1 2022/11/14 21:03
- Excel(エクセル) エクセルで月末、月初の判定をしたい。 4 2022/05/18 23:22
- Excel(エクセル) WORKDAY関数 4 2023/06/08 13:23
- Excel(エクセル) Excelについて A1からA12まで、1月〜12月と入力し、 B1からB12の範囲に、C1とD1に 4 2022/05/26 22:48
- Excel(エクセル) エクセル関数について 2 2022/04/13 18:25
- Visual Basic(VBA) 顧客ごとに違う点検案内を作成するマクロ 4 2022/09/16 05:34
- Excel(エクセル) B列に、A列の数字が偶数の場合は1減算した数字、奇数の場合はそのまま数字を自動表示したい 4 2022/04/16 12:01
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで同じセルに箇条書きをし...
-
A1セルに入力したら、入力時間...
-
参照先セルに値が入っていない...
-
IF関数で0より大きい数値が入力...
-
エクセルで既に入力してある文...
-
値を入力後、自動的にアクティ...
-
エクセルで時間の判定をしてい...
-
Excelでセルに入力されたカラー...
-
Excel:文字と数字の組合せ、次...
-
エクセルで複数の条件で掛け算...
-
yyyy/mm/ddからyyyy/mmへの変換
-
エクセルで、特定のセルの内容...
-
空白でないセルの値を返す方法...
-
マイナス同士の前年比
-
エクセルの数式がかぶって、選...
-
バーコードが読み取れない原因...
-
EXCELのセル上のURLを...
-
エクセルの数式で計算結果に文...
-
Excel書式設定が24時間以上の設...
-
エクセルで10分ごとの時刻の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
A1セルに入力したら、入力時間...
-
Excelで同じセルに箇条書きをし...
-
参照先セルに値が入っていない...
-
IF関数で0より大きい数値が入力...
-
エクセルで既に入力してある文...
-
Excel:文字と数字の組合せ、次...
-
空白でないセルの値を返す方法...
-
値を入力後、自動的にアクティ...
-
エクセルで時間の判定をしてい...
-
yyyy/mm/ddからyyyy/mmへの変換
-
Excelでセルに入力されたカラー...
-
エクセルの数式がかぶって、選...
-
エクセルで、特定のセルの内容...
-
エクセルで複数の条件で掛け算...
-
マイナス同士の前年比
-
入力したところまでを自動的に...
-
EXCELのセル上のURLを...
-
excel 関数にて文字を0として認...
-
バーコードが読み取れない原因...
-
ExcelVBAでセルを編集状態にす...
おすすめ情報