プロが教えるわが家の防犯対策術!

お世話になります。

エクセルでデータを貼り付けしたときに、
A列とB列の完全一致データを行ごと(AからMまで)別のシートに摘出したいと思っております。
また一致したデータは削除せずに全て摘出したいと考えております。

膨大なデータ数ですので処理に時間はかかると思っておりますが、
VBAで自動で処理できる方法をご教示頂けないでしょうか。

ご指導を宜しくお願いいたします。

質問者からの補足コメント

  • 皆様、情報が足りず申し訳ございません。

    画像をつけました。
    実際にはA列からM列まで入力されておりまして、
    膨大といいましても2万行くらいかと思っております。

    見出し行について画像に入っておりませんが、
    実際は見出し行が入っております。

    「エクセル 2つの列にある値の完全一致を抜」の補足画像1
      補足日時:2022/12/15 14:33
  • 実際のデータは別のエクセルデータになるのですが、
    シート1にペーストした時に、シート2に摘出されるようにしたいと
    思っております。

      補足日時:2022/12/15 14:38
  • 貼り付ける前は別のエクセルデータになりますので、
    自分でコピーしてきて貼り付けることを想定しております。

    No.1の回答に寄せられた補足コメントです。 補足日時:2022/12/15 14:42
  • うーん・・・

    Qchan1962さんのVBAをsheet1に入れまして、コピー元からペーストしてみると何も起こりませんので、実行を押してみた所、新規ブックが立ち上がったのですが、エラーが出まして、「ActiveX コンポーネントはオブジェクトを作成できません。」と出てしまいました。理由がわからないのですが、
    エクセルのバージョンなど関係あるのでしょうか。

    当方、Macでエクセルバージョンは16.16.27となります。

    ご指導よろしくお願いいたします。

    No.8の回答に寄せられた補足コメントです。 補足日時:2022/12/15 20:58

A 回答 (15件中11~15件)

こんにちは



こんな感じでしょうか?
※ 不明点は勝手に想定。

Sub Q_13270809()
Dim ws As Worksheet
Set ws = ActiveSheet
With Worksheets.Add(after:=ws)
ws.Range("A:M").Copy .Range("B1")
.Range("B1").CurrentRegion.Columns(1).Offset(, -1).FormulaLocal = "=IF(B1=C1,"""",1)"
If Application.Max(.Columns(1)) > 0 Then _
.Columns(1).SpecialCells(xlCellTypeFormulas, xlNumbers).EntireRow.Delete
.Columns(1).Delete
End With
End Sub
    • good
    • 2
この回答へのお礼

有難うございます。補足説明を追加いたしましたので、今一度のご指導を宜しくお願いいたします。

お礼日時:2022/12/15 14:50

No.3 です。



>についたしますが

追加しますの間違いでした。

あと

>膨大なデータ数ですので処理に時間はかかると思っておりますが

何か作業をやってみて時間がかかるので改善案と言う事でしょうか?
それともまだやってなく手の憶測ですか?
まぁデータ数次第ですがPowerQueryって機能もあるようですしね。
⇒元のデータがどこにあるのかにもよりそう。
    • good
    • 0
この回答へのお礼

有難うございます。いつも重複をチェックするのですが、並び替えの上下目視で合わせています。=EXACTで上下の判定のみなのですが、効率的なやり方ではないので、改善したいと思っております。
補足説明を追加いたしましたので、今一度のご指導を宜しくお願いいたします。

お礼日時:2022/12/15 14:53

No.1です。



>『A列とB列の完全一致データ』とはA列の値とB列の値が同じ場合との解釈

についたしますがA:Bの比較する組み合わせ語句?は、単一でしょうか複数行ありますでしょうか?
    • good
    • 0
この回答へのお礼

有難うございます。補足説明を追加いたしましたので、今一度のご指導を宜しくお願いいたします。

お礼日時:2022/12/15 14:53

レイアウト等の確認です。


1.添付図のようなレイアウトであってますか。
(1行目が見出しで、データは2行目から)
2.添付図の場合は、3行と5行が摘出対象となる。
3.膨大なデータということですが、およそ何行ありますか。
「エクセル 2つの列にある値の完全一致を抜」の回答画像2
    • good
    • 0
この回答へのお礼

有難うございます。補足説明を追加いたしましたので、今一度のご指導を宜しくお願いいたします。

お礼日時:2022/12/15 14:53

・貼り付ける前はどのような所にあるデータなのでしょうか?


・『A列とB列の完全一致データ』とはA列の値とB列の値が同じ場合との解釈で宜しいのでしょうか?
・『膨大な』とは100万行とか?(Excelの最大行数は、1,048,576 行)
それとも1~5万行程度?
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!