[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『別のシートの数字を参照して、そこにない数字が入力されたら、エラーのメッセージボックスを表示する』(エクセルむずかしい)
シートAのA列に商品コード、B列に商品名がずらっと入力されてあって、別のシートで商品コードを入力すると隣のセルに商品名が出てくるようにエクセルの式を入力してあるエクセルブックがあります。シートAに載っていない商品コードを別のシートに入力したときに「エラーです」とメッセージボックスが出るようにしたいのですが、どうしたらいいのかさっぱり分かりません。ご教示いただけますと幸いです。
< 使用 Excel:Excel2013、使用 OS:Windows10 >
商品コードの入力欄をデータの入力規則のリストにして元の値をシートAのA列にしてはどうか? (ねむねむ) 2018/08/27(月) 13:38
Private Sub Worksheet_Change(ByVal Target As Range) 'シート2のA列に入力するとして Dim Ws1 As Worksheet, Ws2 As Worksheet Set Ws1 = ThisWorkbook.Sheets("Sheet1") Set Ws2 = ThisWorkbook.Sheets("Sheet2")
If Target.Column = 1 And Target.Value <> "" Then If Ws1.Range("A:A").Find(Target.Value, LookAt:=xlWhole) Is Nothing Then MsgBox "エラーです" End If End If End Sub
ですが、私もねむねむさんの言うとおり、
最初から入力できないようにした方がいいと思います。。
(TAKA) 2018/08/27(月) 13:49
一応、入力規則の場合でも設定のダイアログでドロップダウンリストから選択するのチェックを外すと、ドロップダウンを 行わず手入力でリストにないデータの場合にエラーダイアログを出すという運用にもできる。 (ねむねむ) 2018/08/27(月) 14:06
シートAのA列に数式-名前の定義で名前を付けて(例えばリスト)、元の値に「=リスト」と名前の定義で付けた名前を指定してみてくれ。 (ねむねむ) 2018/08/28(火) 13:59
これはブックを選択してくれ。 (ねむねむ) 2018/08/28(火) 14:25
どうも名前を使っている場合、名前の範囲内に空白セルがある場合は入力規則のダイアログで 空白を無視するのチェックを外さないときちんとチェックが行われないようだ。 (名前範囲にすべて値が入っている場合は空白を無視するにチェックが入っていてもOK) (ねむねむ) 2018/08/28(火) 14:49
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.