- ベストアンサー
判定と、別ウインドが立ち上がって表示
A 判定 B 10 10 11 × 12 12 13 14 × 15 エクセルでB列には、無い数字A列の数字には×判定が出るようにして ×判定が出た数字を、 別ウィンドウが立ち上がって 11 14 該当しません! と、いうのを作りたいのですが・・・ 出来ますでしょうか? 教えて頂けませんでしょうか・・・ よろしく御願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
同じA列の中に×などの文字を入れることはできませんね。次のようにしてはどうでしょう。 A列に入力する数値でB列にない数値のあるセルについてはセルに赤色を付ける。また、B列にない数値をA列に入力し、確定しようとした場合には該当しませんと注意が表示される。といったことならエクセルで対応することができます。 エクセル2007でその方法を述べます。 初めにセルを赤色表示にする方法です。 A列を選択し、「ホーム」タブから「条件付き書式」で「新しいルール」を選択します。 「数式を使用して書式設定するセルを決定」を選択し、下の窓には=AND(A1<>"",COUNTIF(B:B,A1)=0)と入力します。「書式」をクリックして「塗りつぶし」タブから赤色を設定しOKします。 次に注意を表示させるための方法です。 A列を選択し、「データ」タブから「データの入力規則」を選択します。 表示の画面の「設定」タブから入力値の種類に「ユーザー設定」を選択します。数式の窓には=COUNTIF(B:B,A1)>0と入力し、その後に「エラーメッセージ」タブを選択し、スタイルでは「注意」を選択します。また、エラーメッセージの窓には「該当しません」と入力してOKします。
その他の回答 (1)
- Wendy02
- ベストアンサー率57% (3570/6232)
こんにちは。 マクロをお望みでしょうか? 別ウィンドウが立ち上がって、というところは、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
お礼
大変遅くなりまして申し訳ありません。 親切に、有難うございました。 残念な事にマクロの知識がありません・・・ 参考に、させて頂いて勉強させて頂きます。 有難うございました。
お礼
大変、分かり易く丁寧な説明で 非常に助かりました。 感謝致します。 有難うございました。