• ベストアンサー

判定と、別ウインドが立ち上がって表示

  A  判定   B   10       10   11  ×    12   12        13     14  ×    15 エクセルでB列には、無い数字A列の数字には×判定が出るようにして ×判定が出た数字を、 別ウィンドウが立ち上がって       11       14  該当しません! と、いうのを作りたいのですが・・・ 出来ますでしょうか? 教えて頂けませんでしょうか・・・ よろしく御願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

同じA列の中に×などの文字を入れることはできませんね。次のようにしてはどうでしょう。 A列に入力する数値でB列にない数値のあるセルについてはセルに赤色を付ける。また、B列にない数値をA列に入力し、確定しようとした場合には該当しませんと注意が表示される。といったことならエクセルで対応することができます。 エクセル2007でその方法を述べます。 初めにセルを赤色表示にする方法です。 A列を選択し、「ホーム」タブから「条件付き書式」で「新しいルール」を選択します。 「数式を使用して書式設定するセルを決定」を選択し、下の窓には=AND(A1<>"",COUNTIF(B:B,A1)=0)と入力します。「書式」をクリックして「塗りつぶし」タブから赤色を設定しOKします。 次に注意を表示させるための方法です。 A列を選択し、「データ」タブから「データの入力規則」を選択します。 表示の画面の「設定」タブから入力値の種類に「ユーザー設定」を選択します。数式の窓には=COUNTIF(B:B,A1)>0と入力し、その後に「エラーメッセージ」タブを選択し、スタイルでは「注意」を選択します。また、エラーメッセージの窓には「該当しません」と入力してOKします。

longroad77
質問者

お礼

大変、分かり易く丁寧な説明で 非常に助かりました。 感謝致します。 有難うございました。

その他の回答 (1)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんにちは。 マクロをお望みでしょうか? 別ウィンドウが立ち上がって、というところは、UserForm のテキストボックスなどに出すのも良いでしょう。 コントロールツールより、コマンドボタンを貼り付けて、以下のコードを入れてください。 '------------------------------------------- Private Sub CommandButton1_Click()   Dim rng1 As Range   Dim rng2 As Range   Dim Ar1 As Variant   Dim Ar2 As Variant   Dim i As Long, j As Variant   Dim buf As String      With ActiveSheet     Set rng1 = Range(.Cells(1, 1), .Cells(Rows.Count, 1).End(xlUp))     'rng1.Replace "×", "", xlPart '既存の×を消す          Ar1 = Application.Transpose(rng1.Value)          Set rng2 = Range(.Cells(1, 2), .Cells(Rows.Count, 2).End(xlUp))     Ar2 = Application.Transpose(rng2.Value)          For i = LBound(Ar2) To UBound(Ar2)       j = Application.Match(Ar1(i), Ar2, 0)       If IsError(j) Then         rng1.Cells(i, 1).Value = rng1.Cells(i, 1).Value & "×"         buf = buf & vbCrLf & Ar1(i)       End If     Next i   End With   'メッセージボックス   MsgBox Mid(buf, 2) & " 該当しません!", vbInformation End Sub

longroad77
質問者

お礼

大変遅くなりまして申し訳ありません。 親切に、有難うございました。 残念な事にマクロの知識がありません・・・ 参考に、させて頂いて勉強させて頂きます。 有難うございました。

関連するQ&A