解決済み

エクセル重複データ

  • すぐに回答を!
  • 質問No.973576
  • 閲覧数126
  • ありがとう数1
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 25% (2/8)

 分からないことがありましたので、質問させていただきます。エクセル(マクロ)データの重複のコーディングについてです。
 データが年月の古い順(昇順)に並んでいます。
項目は、A~X間であったとします。年月の1番古いデータ(1番目)と次に古いデータ(2番目)を比べ、昇順で比べていきます。年月が同じだった場合、項目C、Eを見ます。
 同じだった場合、データが重複しているので、
"データが重複しています。置き換えますか"とメッセージを表示させます。
 また、置き換えには2つあり、"1件ずつ置き換える場合"と"全件置き換える場合"があります。それぞれ、メッセージを出します。置き換えない場合は、中止します。
 私の考えとしては、置き換える場合は、"1件ずつ置き換えますか"とメッセージを表示させ、Noの場合、"全件置き換えますか"とメッセージを表示させたいです。どうすればよいのかご教授願いませんでしょうか。その他に良い方法がありましたらその作法を教えていただけないでしょうか。宜しくお願いします。
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.2

ベストアンサー率 66% (16/24)

データが同じかどうかということですので

If Cells(row, 1) = Cells(row + 1, 1) Then 'A列が同じ場合
 If Cells(row, 3) = Cells(row + 1, 3) And  'C列が同じ かつ(AND)
   Cells(row, 5) = Cells(row + 1, 5) Then 'E列が同じ場合
  '重複している時の処理
 End If
End If

という感じになります。
お礼コメント
kerorogunsoum

お礼率 25% (2/8)

ご教授いただきありがとうございます。
大変参考になりました。
投稿日時 - 2004-08-24 13:39:43
OKWAVE 20th Be MORE ありがとうをカタチに

その他の回答 (全1件)

  • 回答No.1

ベストアンサー率 66% (16/24)

メッセージ表示のやり方についてでよろしいのでしょうか?

メッセージは MsgBox で表示するものですか?

それでしたら
If MsgBox("1件ずつ置き換えますか?", vbYesNo) = vbYes Then
 '1件ずつ置き換える処理
Else
 If MsgBox("全件置き換えますか?", vbYesNo) = vbYes Then
  '全件置き換える処理
 Else
  '何もしない(のかな)
 End If
End If

こんな感じになると思います。
補足コメント
kerorogunsoum

お礼率 25% (2/8)

ご教授いただきありがとうございます。
その前の年月が同じ場合、項目C、Eを見て、重複かどうかの判断をしたいのですが、申し訳ございませんが、こちらもご教授願いませんでしょうか。宜しくお願いいたします。
投稿日時 - 2004-08-24 11:14:46
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

特集


より良い社会へ。感謝経済プロジェクト始動

ピックアップ

ページ先頭へ