複数のセルで検索し、重複したデータがあったらメッセージを出すには?


  2006-04-20 08:54:06  No: 131024

こんにちわ。
長いタイトルですみません。

ユーザーフォームを使って、交通費の精算を入力しています。

ユーザーフォームより入力したデータはシート(Sheet1)には
A      B    C          D
4    1    山田太郎  500
4    2    小林花子  1000
4    3    山田太郎  2000
4    1    山田太郎  900  ←1行目と重複

と転記しています。

その際、
A列+B列+C列で検索をし、登録ボタンを押した後、重複している
データがあればメッセージボックスで
「すでにデータが存在しています」と表示させたいと思っています。
(A列は月、B列は日です)

どなたか、よろしくお願いします。


あっきー  2006-04-20 09:13:34  No: 131025

Aが同じかつBが同じかつCが同じという条件で全行を検索すれば
よいということは分かっている(ますよね?)みたいですが
どのような回答を期待していますか?


  2006-04-20 09:27:48  No: 131026

あっきーさま>ありがとうございます!

どのようにVBAを記述するかヒントを教えていただけますでしょうか。
ずうずうしいお願いで申し訳ありません。。。

よろしくお願いします。


いな  2006-04-20 13:26:45  No: 131027

>どのようにVBAを記述するかヒントを教えていただけますでしょうか。

あっきーさんじゃないけれど、
回答の一つとして、ヒントだけ

For i = 1 to 100'←の数値は適当
    For j = 1 to i
          'Aが同じかつBが同じかつCが同じという条件はここに書く!!

    Next j
Next i

あとは、IF文を足すことで一応用件を満たすと思います。


Blue  2006-04-20 18:07:07  No: 131028

Excel VBAならば、Match関数を駆使したり、
AutoFilterをつかったりすればできそう。


特攻隊長まるるう  2006-04-20 18:56:33  No: 131029

3列だし、
Excel VBAならば、『データの並び替え』を1回
実行しちゃうのも1つの手だよね。同じデータ
が並んでいると分かっていれば2行ずつ比較すれば
重複が分かっちゃうわけだし。
詳しいコードは『マクロの記録』で分かります。
Sort というメソッドが用意されています。

何を言ってるか分からない場合は、上記2つの
キーワードをエクセルヘルプのいるかちゃんに
質問してみて下さい。


  2006-04-23 07:54:34  No: 131030

みなさまありがとうございます。

いなさま
> 'Aが同じかつBが同じかつCが同じという条件はここに書く!!

ここがわかりません。
複数のセルをたして、、というやり方はどういうふうにつなげるのでしょうか。

よろしくお願いします。


ほげ  2006-04-23 10:42:16  No: 131031

>複数のセルをたして、、というやり方はどういうふうにつなげるのでしょうか。
一つなら分かるのですか?
分かるならどういうふうにするか書いてみてください。


いな  2006-04-23 11:37:19  No: 131032

>複数のセルをたして、、というやり方はどういうふうにつなげるのでしょうか。

まず、IF文は理解していますでしょうか?

たとえば、変数aが10の時にメッセージを出すIF文は
if a=10 then
MsgBox "10"
End if

さらに、aが10でかつbも10という複数の条件の時には
if a=10 And b=10 Then
MsgBox "10"
End if

と条件をAndでつなげます。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加