Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1161 / 13645 ツリー ←次へ | 前へ→

【75944】重複行の削除(複数列での比較) こなつ 14/8/10(日) 9:26 質問[未読]
【75945】Re:重複行の削除(複数列での比較) γ 14/8/10(日) 9:42 発言[未読]
【75949】Re:重複行の削除(複数列での比較) こなつ 14/8/10(日) 10:17 お礼[未読]
【75952】Re:重複行の削除(複数列での比較) γ 14/8/10(日) 11:26 発言[未読]
【75953】Re:重複行の削除(複数列での比較) こなつ 14/8/10(日) 14:18 お礼[未読]

【75944】重複行の削除(複数列での比較)
質問  こなつ  - 14/8/10(日) 9:26 -

引用なし
パスワード
   こんにちは
いつもお世話になっています。

過去のログも拝見させて頂きましたが
少し出来ないところがあるので質問させて頂きました。
宜しくお願いします。

質問は
Sheet1にある複数列に渡って記入してある
データをそれぞれ比較して同じものがあったら
削除して重複の無いデータシートにする
方法をご教授頂きたいと思います。

データイメージ
   A列  B列  C列   D列  E列  F列・・・・
1  3/3  101 りんご  3kg  田中  10
2  3/3  101 りんご  2kg  鈴木  10
3  3/3  101 りんご  3kg  小林  10
4  3/4  101 みかん  1kg  今井  20 ←1.
5  3/4  101 みかん  2kg  田中  5 
6  3/4  101 みかん  2kg  鈴木  10
7  3/4  101 みかん  1kg  今井  20 ←1.
8  3/5  103 バナナ  2kg  高橋  3  ←2. 
9  3/5  103 バナナ  3kg  鈴木  15
10  3/5  103 バナナ  1kg  小林  26
11  3/5  103 バナナ  2kg  高橋  3  ←2.

 ※この場合 1.と2.の行が重複として判断したいのです。 
 ※実際のデータは、A〜AC列 × 10000行位のデータになります。

こういったデータで完全に重複している行を削除したいのです。
1列のデータで重複削除は出来るのですが、複数列で
完全重複を探す方法が判らなくて質問させて頂きました。

みなさん 助けて下さい。
お願いします。

【75945】Re:重複行の削除(複数列での比較)
発言  γ  - 14/8/10(日) 9:42 -

引用なし
パスワード
   フィルタの詳細設定(いわゆるフィルタオプションと呼ばれるもの)を
利用するのが簡便です。

・見出し行を追加します。
・見出しを含むすべての範囲を選択して、
・リスト範囲が、全範囲になっていることを確認し、
・検索条件範囲は未入力のままでOK
・「重複するレコードは無視する」にチェックをつけます。
これで「詳細設定」を実行すると、お望みのものだけが表示状態になります。

それを別のシートにコピーペイストすればよろしいかと思います。
今の表で、不要な行を削除したければ、
・コピーペイストしたあと全範囲を消去し、
・別シートの内容を元に戻す
とよいでしょう。

手作業でもいいですが、マクロにしたいのであれば、
これをマクロ記録して、少し修正すれば完了です。

【75949】Re:重複行の削除(複数列での比較)
お礼  こなつ  - 14/8/10(日) 10:17 -

引用なし
パスワード
   ▼γ さんへ

 早速のご回答本当にありがとうございました。

 目から鱗が落ちるでした。

 マクロにこだわって 頭が固まっていました。

 また、宜しくお願いします。

【75952】Re:重複行の削除(複数列での比較)
発言  γ  - 14/8/10(日) 11:26 -

引用なし
パスワード
   もし、Excel2007以降であれば、RemoveDuplicatesが使えます。
Sub test()
  ActiveSheet.Range("A1").CurrentRegion.RemoveDuplicates Columns:=Array(1, 2, 3, 4, 5, 6)
End Sub

# Excelのバージョンを書いたほうがいいですよ。
# 私は、初めてRemoveDuplicatesを使ってみました。
# 自信ありませんが、たぶんOKかと。

【75953】Re:重複行の削除(複数列での比較)
お礼  こなつ  - 14/8/10(日) 14:18 -

引用なし
パスワード
   ▼γ さん:
>もし、Excel2007以降であれば、RemoveDuplicatesが使えます。
>Sub test()
>  ActiveSheet.Range("A1").CurrentRegion.RemoveDuplicates Columns:=Array(1, 2, 3, 4, 5, 6)
>End Sub
>
># Excelのバージョンを書いたほうがいいですよ。
># 私は、初めてRemoveDuplicatesを使ってみました。
># 自信ありませんが、たぶんOKかと。

重ね重ね ありがとうございました。
バージョンを書くのを忘れていました。
Excel2007です。

 早速、試してみます。

1161 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free