- ベストアンサー
エクセルまたはVBAで重複行を削除
ASIMOVの回答
- ASIMOV
- ベストアンサー率41% (982/2351)
VBA の一例ということで... >A列をキーに、昇順 を、前提として -------------------------------- Sub TEST() gyou = 1: owari = Range("A1").End(xlDown).Row Do If Cells(gyou, 1) = Cells(gyou + 1, 1) Then Rows(gyou + 1).Select Selection.Delete Shift:=xlUp owari = Range("A1").End(xlDown).Row Else gyou = gyou + 1 End If Loop While gyou <= owari End Sub
関連するQ&A
- エクセル 重複行の編集 色をつける
お世話になります。 エクセル2000にて以下のような表を作りました。 A |B |C 1 名称|1/11|123 2 ああ|1/11|456 ←行全体に色を付けたい 3 ああ|1/12|789 4 いい|1/11|999 ←行全体に色を付けたい 5 いい|1/11|888 ※行はA・B列をキーに、昇順(順序良く)並んでいます。 表の中に重複行(A・B列をキーとして)が存在していて、その一つ目の行に、色を付けたいのですが、 どうすれば実現できるでしょうか? 例でいうと、2・4行目に色を付けたいのですが、術が思いつきません。 どうぞご教授下さいm(__)m
- ベストアンサー
- オフィス系ソフト
- 【Excel VBA】重複行の削除
はじめまして。 IDの重複を削除し、日付データを横1列にまとめるVBAについてご教示いただけますと幸いです。 ------------------------------------------------------- ▼シート1(データ入力がされているシート) A B C D E F 1 ID 日付 2 1234 1/1 1/6 1/10 1/20 3 1234 2/3 2/20 4 1234 3/2 5 7777 1/10 1/15 1/20 6 7777 2/2 2/12 2/22 7 9876 2/3 ⇓ マクロ起動後 ▼シート2(重複行を削除しまとめたシート) A B C D E F G H 1 ID 日付 2 1234 1/1 1/6 1/10 1/20 2/3 2/20 3/2 3 7777 1/10 1/15 1/20 2/2 2/12 2/22 4 9876 2/3 【補足】 列情報 ・A列…ID ・B-F列…日付(左詰め) ※日付はIDごと月毎に行が変わるため、IDによって複数行存在する場合があります。 ※A列のIDは重複しない場合もあれば、4行以上ある場合があります。 ※シート1のデータはおおよそ1000-5000行です。 ※IDに対して、日付は5つあれば問題ありません。そのためG列以降の日付を削除しても支障はございません。 ------------------------------------------------------ VBAの知識があまりなく、調べて出てきたものをコピペ使用も試みたのですが、 上手く動かす事ができませんでした…。 お力添え頂けますと幸いです…。 Windows10でエクセル2016を使用しております。 何卒宜しくお願いいたします。
- ベストアンサー
- Excel(エクセル)
- エクセル 重複行色付(VBA)について質問です。
Excelで、2ヶ所の場所を重複しているのかどうかチェックし、重複でしたらその行ごと色を付けたいと思っております。 | A | B | C | D | E | 田中 1046587920 8/2 8/6 100364987 鈴木 1098463612 8/3 8/5 125698001 森川 1548758743 8/20 8/23 103587410 川島 1046587920 8/22 8/23 100365871 森本 1046587920 8/25 8/26 100364987 例えば、上記の様な一覧があり 「B列」 と 「E列」 とで重複を確かめて、同じであれば色が付く様にVBAを組みたいのですが、現在調べて 「B列」 のみの重複に色付けは出来るようになったのですが、2ヶ所重複に色をつけることで困っております。 上の例で行きますと、田中さんと森本さんの行に色が付く形が理想でして、川島さんの、「B列」は該当しておりますが、「E」列が異なるため、色は付きません。 行数は。2万行前後になるのですが、関数を当てると処理が非常に重くなるため、VBAを試みております。 お知恵をお貸し頂けましたら幸いです。
- ベストアンサー
- その他(インターネット・Webサービス)
- Excel VBAで値が重複する行を削除する
Excel2000を使っています。 シートAに数千件のデータがあります。 シートBのE列にある文字とシートAのD列の文字が重複する場合に、シートAの重複するセルがある行を削除する(且つできれば行のデータを抜き出すVBAを作ろうと考えています。 最近VBAの初心者本をやっと理解したところで、ちんぷんかんぷんとまではいかないけど、知恵熱がでました。 仕事なので自分でなんとかすべきかと思いますが、きっかけの調べ方がまずわからない。 どなたか、解かるきっかけだけでも与えて頂けないでしょうか。とくに、別シートの値と重複する値を探す場合に何をいれるかわかればきっと道は開けると思うんですが…。 初めての質問なので、質問内容が至らなかったらもうしわけありません。
- 締切済み
- オフィス系ソフト
- エクセルで重複行をすべて削除するにはどうすればよいでしょうか?
例えば、昇順で並べ替えて以下のようにエクセルで準備したとします。 A列 1行 aa 2行 aa 3行 bb 4行 bb 5行 cc 6行 cc 7行 dd 8行 ee そこで重複する行ごと削除したいのですがどうすればよいでしょうか? 削除結果は A列 1行 dd 2行 ee 上記のようにしたいです。 重複する1行だけは削除できたのですが、 2行ごと削除の方法がわかりません。 ご教授いただきたく存じます。 よろしくお願いいたします。
- ベストアンサー
- その他(業務ソフトウェア)
- EXCEL VBAの重複行削除について
EXCEL2010を使用しています。 添付画像の「重複行削除 前」の表を、RemoveDuplicatesで下の様にコードを組んで A列で重複する行を見て重複する行を削除しています。 Public Sub 重複行削除() With WorkSheets(1) .Range(.Cells(1, 1), .Cells(8, 3)).RemoveDuplicates _ Columns:=1, Header:=xlYes End With End Sub すると、日付の新しいデータが削除され、古いデータが残ってしまいます。 (添付画像の「重複行削除 後」) ReniveDuplicates Columns:=Array(1,3) とした場合は、すべてのデータが残ってしまいます。 添付画像の「欲しいデータ」の表の様に、 日付の新しいものを残すように重複行削除は出来ないでしょうか? 詳しい方、どうか教えてください。 よろしくお願いします。
- ベストアンサー
- Excel(エクセル)
- 重複行を削除
重複する行をVBAコードで削除したいのですが A列 B列 C列 あ 1 a あ 1 a あ 2 a い 1 a い 2 c い 2 c A列 B列 C列 あ 1 a あ 2 a い 1 a い 2 c のようにABC列同一文字は1行にしたいのですがVBAコード、関数の解る方ご教授願います。
- 締切済み
- Visual Basic
- 重複する行の削除の方法(VBA)
エクセルのVBAで質問です。 以下のような表で、 A B C 1 赤 10 × 2 青 20 ○ 3 青 20 ○ 4 黄 30 × 5 緑 10 ○ 6 紫 15 △ 7 紫 15 △ 8 紫 15 △ Aのセルの要素が重複しているこのような場合に1つだけを残したい、 つまり3行目と7.8行目を削除したいのです。 (実際の列数は10、行数は1万程度あります) このような場合、どのようなマクロを組めばいいでしょうか? なお、最終行の場所は lngMaxRow = Cells.SpecialCells(xlLastCell).Rowによって取得しております。 出来れば後学のために処理の簡単な説明も付けていただけると助かります。 宜しくお願いします。
- ベストアンサー
- オフィス系ソフト
- 重複行を削除するエクセルのマクロ
重複している行を削除したいです。 A B C D 1 a123 4567 PX2 0 2 a456 4567 PX3 5000 3 a789 4567 PX5 10 4 a567 4567 PX4 20 5 a123 4567 PX2 0 A行とC行を検索し両方が重複していたら重複している一行を削除するボタンを作りたいと思っております。どうぞご教授ください。
- ベストアンサー
- オフィス系ソフト
- エクセル関数での重複削除
以下のようなエクセル表があったとします。 【列A】 【列B】 【行1】 1 A社 【行2】 2 B社 【行3】 3 B社 【行4】 4 C社 【行5】 5 C社 【行6】 6 C社 この表の下のほうに、【列B】の社名を重複を削除した形で一覧表示させたいのです。この例の場合ですと、 A社 B社 C社 と表示させたいのですが。。。 フィルタ機能を使って重複を削除すれば同じようなことができるのですが、今後の更新作業を楽にするため関数でやりたいのですが、可能でしょうか。 教えてください。
- ベストアンサー
- その他MS Office製品