• ベストアンサー

エクセルのデーターの検索方法

エクセルの同じ内容のデーターが二つあります。しかし別の人が管理しているのでなぜか数が多くなってしまいます。数が200以上あるのでどれが二重になっているのか探すのに困難です。一つは200でもうひとつは203あります。この3件を探す何か良い検索方法はないでしょうか。

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.6

こんばんは。 #5のコードが、どうしても気になって、試してみたら、やはりミスがありました。足りないほうは、チェックできても、ダブっているものは、チェックできませんので、すみませんが、サブルーチン側を差し替えてください。 真中の Sub s_SearchValue(myRange As Range)の行から以下を差し替えてください。 '--------------------------------------------- Sub s_SearchValue(myRange As Range)   Dim r As Range   Dim myFirstAddress   Dim DoubleFlg As Boolean   With Sh2.UsedRange    Set r = .Find( _    What:=myRange.Text, _    LookIn:=xlValues, _    lookat:=xlWhole, _    SearchOrder:=xlByColumns, _    SearchDirection:=xlNext, _    MatchCase:=False)    If Not r Is Nothing Then      myFirstAddress = r.Address      Do       If DoubleFlg = False Then         DoubleFlg = True       Else         r.Interior.ColorIndex = 3 '赤       End If       Set r = .FindNext(r)      Loop Until r Is Nothing Or r.Address = myFirstAddress      Else      myRange.Interior.ColorIndex = 6 '黄色    End If   End With End Sub '---------------------------------------

daburuyuu
質問者

お礼

何度もすみません助かりますありがとうございました。

その他の回答 (5)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.5

こんばんは。 少し、様子をみさせていただきました。 以下のマクロは、「標準モジュール」に登録してください。 >(5)電話番号もしくは名前等文字での検索です。 >(6)比べる値はAもBも一つの列に収まっています とは言うものの、それ以上の具体的な情報はありませんでしたので、シート全体を調べるマクロにしました。それを、双方向で同じデータが「ある・なし」を調べます。片方にない場合は、黄色で色が塗られます。 使い方は、 Alt + F8 で、CompareEachSheetsDateというマクロ名を探して、クリックします。 そうすると、ダイアログで、もう1つのシートを選ぶように出てきますから、シートを選び、そのシートの任意のシートを選択します。 後は、自動的に検索します。念のため、日付情報や時間情報は、このマクロでは検索できません。 '--------------------------------------------- Option Explicit Dim Sh2 As Worksheet Sub CompareEachSheetsData()   Dim c As Range   Dim Sh1 As Worksheet   Dim buf As Object   Dim tmp As Object   Dim i As Integer   Set Sh1 = ActiveSheet   On Error GoTo ErrHandler   Set tmp = Application.InputBox("検索するシートの任意のセルを選んでください", Default:="Sheet2!$A$1", Type:=8)   On Error GoTo 0   Set Sh2 = tmp.Worksheet   If Sh1.Name = Sh2.Name Then    MsgBox "同じシートを選ぶことは出来ません。", vbInformation    Exit Sub   End If   For i = 0 To 1   If i = 1 Then Set buf = Sh1: Set Sh1 = Sh2: Set Sh2 = buf   For Each c In Sh1.UsedRange.Cells    If Not IsEmpty(c) Then      s_SearchValue c    End If   Next c   Next i   Set buf = Nothing: Set Sh1 = Nothing: Set Sh2 = Nothing   Beep '終了の合図   Exit Sub ErrHandler:   If tmp Is Nothing Then Exit Sub   MsgBox "正しい選択をしてください。", vbInformation   Resume End Sub Sub s_SearchValue(myRange As Range)   Dim r As Range   Dim myFirstAddress   With Sh2.UsedRange    Set r = .Find( _    What:=myRange.Text, _    LookIn:=xlValues, _    lookat:=xlWhole, _    SearchOrder:=xlByColumns, _    SearchDirection:=xlNext, _    MatchCase:=False)    If Not r Is Nothing Then      myFirstAddress = r.Address      Do       Set r = .FindNext(r)      Loop Until r Is Nothing Or r.Address = myFirstAddress      Else      myRange.Interior.ColorIndex = 6 '黄色    End If   End With End Sub '---------------------------------------------

daburuyuu
質問者

お礼

大変ありがとうございます。トライしてみたいと思います。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.4

#2のWendy02です。 一応、#3さんの回答待ちにで、コードを掲示したいと思います。情報が多ければ多いほど、より確実です。

daburuyuu
質問者

お礼

すみませんよろしくお願いします。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

質問の内容について(意味するとこ)。 どこかに書いて亜場合は、お許しください。 (1)この質問の範囲で、言及しているブックはいくつですか。Aさんの作ったファイル(=ブック)とBさんの作ったファイルと2つですか? (2)シートはいくつ。Aさんのファイルのシート数が200で、203はBさんの作ったファイルのシート数ですか。 (3)それともAさんのファイルは1シート内に200行、Bさんのそれは203行ですか。 (4)シート名が3つだけ違ったものがあるということですか。 セルデータで違ったセルが3セルあるのでしょうか (5)同一というのはセルの値ですか。たとえば生徒コードのように データの組の1部のコードなどで比べるのでしょうか。 (5)比べる値はAのものも、Bのものも一つの列に収まっていますか。

daburuyuu
質問者

お礼

すみませんよろしくお願いします。

daburuyuu
質問者

補足

(1)そうですファイルは2つです。 (2)データーが200でシートは1つづつです。 (3)そうです1シート内です。 (4)セルデーターが3つだけ違うのです。 (5)電話番号もしくは名前等文字での検索です。 (6)比べる値はAもBも一つの列に収まっています。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんにちは。 Sheet1 と Sheet2 のA列を比較する場合。 B1:~ =IF(COUNTIF(Sheet2!$A$1:$A$300,A1)>0,"重複","") で、フィルダウン・ドラッグコピーをします。 データが散在していると、このような式は出来ないかもしれませんが、列同士なら、出来ますね。 データが散在しているなら、私は、マクロを書きます。

daburuyuu
質問者

お礼

ありがとうございます。試してみます。

daburuyuu
質問者

補足

私無知なものでマクロの書き方は教えてもらえないでしょうか。

  • cooutarou
  • ベストアンサー率33% (14/42)
回答No.1

もっと簡単な方法があるかもしれないけど・・・ 私だったら並べ替えをして、見比べてみます。 ずれている所を探すだけなのでちょっとは楽かも。 あまり参考にならないかもしれませんが、頑張ってください。

daburuyuu
質問者

お礼

早速のご回答ありがとうございます。頑張ります。

daburuyuu
質問者

補足

何か楽な検索方法があるらしいのですが教えてもらえたらありがたいです。

関連するQ&A