dポイントプレゼントキャンペーン実施中!

先日こちらで重複チェックの仕方を教えていただきました。
これをアレンジしようと思ったのですが、どうしてもうまくいかないので、もう一度教えていただけませんでしょうか?

先日は4つ全てのデータが一致する場合にメッセージボックスが出るように教えていただきました。
今回はチェックするのは3箇所で、そのうち2箇所が選択でどちらかにだけデータが入ります。

一番最初にコンボボックスでワードを選びます。
次にテキストボックスに数字を入れるのですが、テキストボックスが2つあり、どちらかにだけデータを入れます。

コンボボックス とテキストボックス1、コンボボックス とテキストボックス2の組み合わせになるのですが、
これが既にデータがある場合にメッセージボックスが出るようにしたいと思います。

この場合はどのように変更したらいいのでしょうか?
今のコードは以下の通りです。
どうかよろしくお願いいたします。

Private Sub touroku2_Click()
Dim res
res = MsgBox("登録します。よろしいですか?", vbYesNo + VbInfomation, "確認")
If res = vbNo Then
Exit Sub
End If
Sheets("銘柄").Activate
Dim Lrow
With Sheets("銘柄")
If WorksheetFunction.CountIfs(.Range("A:A"), cbokaisya, .Range("C:C"), txtip, .Range("D:D"), txtru) = 1 Then
MsgBox "既に登録があります。"
Exit Sub
Else
Lrow = .Range("A" & Rows.Count).End(xlUp).Row + 1
.Range("A" & Lrow).Value = cbokaisya
.Range("C" & Lrow).Value = txtip
.Range("D" & Lrow).Value = txtru
.Range("E" & Lrow).Value = txtmeigara
.Range("F" & Lrow).Value = txthyouki
End If
End With
End Sub

A 回答 (11件中11~11件)

こんにちは



ご提示のようにCountIfsを利用して処理するなら、テキストの値の有無で場合わけして、それぞれの場合でCountIfsでチェックすればよいのではないでしょうか?

テキストが両方とも入力される場合もあるのなら、3通り(ご提示の方法のままも含めて)の処理にわければ良いでしょう。
    • good
    • 0
この回答へのお礼

fujillinさん、アドバイスありがとうございます。

テキストが両方とも入力される場合はありません(両方入力の場合はエラーになる仕組みを忘れていました)。
ということは2通りでいいのかなと思うのですが、その記述の仕方を教えていただけませんでしょうか?

お礼日時:2020/05/06 17:45

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!