A列とB列を比較して差分を調べるような関数やマクロを教えていただけますでしょうか。

仕事で悩んでおります。要約して述べますと、A列には、

A列
りんご
みかん
キュウイ
ドラゴンフルーツ
マンゴー




と、膨大にデータが並んでおります。
そしてB列には、

B列
EEぶどうFF
IIIマンゴーKKKK
GGドラゴンフルーツHHH
AAAりんごBB
CCみかんDD




と、少し似たようなデータが膨大に並んでおります。
ここにおきまして、A列の文字列が、B列のどこかの行の文字列の一部に入っていれば、そのセルからデータを消したいのです。
つまり上記の例の場合、B列が、

B列
EEぶどうFF
(空白セル)
(空白セル)
(空白セル)
(空白セル)




となるようにしたいのです。(「りんご」「みかん」「ドラゴンフルーツ」「マンゴー」という文字列はA列の中に既に出てきていたので、B列の方からその文字列を含む該当セルはデータを消して空白セルにする)

そのような関数やマクロをご存知の方がいらっしゃいましたら、お教えいただけないでしょうか。
よろしくお願いします。

回答の条件
  • 1人1回まで
  • 登録:
  • 終了:2014/10/21 03:31:02
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:taknt No.1

回答回数13539ベストアンサー獲得回数1198

ポイント300pt
Sub Macro1()

    Dim a As Long
    Dim b As Range
    
    For a = 1 To Rows.Count
        If Cells(a, "A") = "" Then Exit For
        Set b = Columns("B").Find(Cells(a, "A"))
         If Not b Is Nothing Then
                c = b.Address
                b = ""
               Do
                   Set b = Columns("B").FindNext(b)
                   If b Is Nothing Then Exit Do
                   b = ""
               Loop Until b.Address = c
        End If
    Next a
End Sub
id:moon-fondu

>きゃづみぃさん

ありがとうございます!試してみます!
すみません、実は先に別に加工する作業が生じまして。
別トピックに質問を立ち上げましたので、よければそちらの方もご回答いただければ幸いです。
よろしくお願い致します。
http://q.hatena.ne.jp/1413611963
http://q.hatena.ne.jp/1413612951

2014/10/18 15:19:12
id:moon-fondu

試してみました!うまくBセルからデータを消すことが出来ました!
ありがとうございますヽ(´▽`)/

2014/10/21 03:30:31
  • id:Yoshiya
    Sub main()

    Dim ARow, BRow As Long
    Dim lp1, lp2 As Long

    ARow = Range("A1").End(xlDown).Row - 1
    BRow = Range("B1").End(xlDown).Row - 1

    If ARow < 0 Or BRow < 0 Then
    Exit Sub
    End If

    For lp1 = 0 To BRow
    For lp2 = 0 To ARow
    If InStr(Range("B1").Offset(lp1), Range("A1").Offset(lp2)) > 0 Then
    Range("B1").Offset(lp1) = ""
    Exit For
    End If
    Next lp2
    Next lp1

    End Sub

    適当に作ったので、質問文にあるサンプルデータでしかテストしていません。
  • id:kazukichi_0914
    =EXACT(A2,B2)

    マクロじゃないですけど、この関数を使うと A2とB2が等しいか出してくれる関数です。
    参考になれば幸いです。
  • id:moon-fondu
    >Yoshiyaさん 
    >かずきち。さん

    コメントありがとうございます!
    先に別の加工の疑問が生じまして。
    お手数お掛け致しますがお時間ありましたらご回答よろしくお願い致します。
    http://q.hatena.ne.jp/1413611963
    http://q.hatena.ne.jp/1413612951

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません