こんにちわ。
長いタイトルですみません。
ユーザーフォームを使って、交通費の精算を入力しています。
ユーザーフォームより入力したデータはシート(Sheet1)には
A B C D
4 1 山田太郎 500
4 2 小林花子 1000
4 3 山田太郎 2000
4 1 山田太郎 900 ←1行目と重複
と転記しています。
その際、
A列+B列+C列で検索をし、登録ボタンを押した後、重複している
データがあればメッセージボックスで
「すでにデータが存在しています」と表示させたいと思っています。
(A列は月、B列は日です)
どなたか、よろしくお願いします。
Aが同じかつBが同じかつCが同じという条件で全行を検索すれば
よいということは分かっている(ますよね?)みたいですが
どのような回答を期待していますか?
あっきーさま>ありがとうございます!
どのようにVBAを記述するかヒントを教えていただけますでしょうか。
ずうずうしいお願いで申し訳ありません。。。
よろしくお願いします。
>どのようにVBAを記述するかヒントを教えていただけますでしょうか。
あっきーさんじゃないけれど、
回答の一つとして、ヒントだけ
For i = 1 to 100'←の数値は適当
For j = 1 to i
'Aが同じかつBが同じかつCが同じという条件はここに書く!!
Next j
Next i
あとは、IF文を足すことで一応用件を満たすと思います。
Excel VBAならば、Match関数を駆使したり、
AutoFilterをつかったりすればできそう。
3列だし、
Excel VBAならば、『データの並び替え』を1回
実行しちゃうのも1つの手だよね。同じデータ
が並んでいると分かっていれば2行ずつ比較すれば
重複が分かっちゃうわけだし。
詳しいコードは『マクロの記録』で分かります。
Sort というメソッドが用意されています。
何を言ってるか分からない場合は、上記2つの
キーワードをエクセルヘルプのいるかちゃんに
質問してみて下さい。
みなさまありがとうございます。
いなさま
> 'Aが同じかつBが同じかつCが同じという条件はここに書く!!
ここがわかりません。
複数のセルをたして、、というやり方はどういうふうにつなげるのでしょうか。
よろしくお願いします。
>複数のセルをたして、、というやり方はどういうふうにつなげるのでしょうか。
一つなら分かるのですか?
分かるならどういうふうにするか書いてみてください。
>複数のセルをたして、、というやり方はどういうふうにつなげるのでしょうか。
まず、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でつなげます。
ツイート | ![]() |