- ベストアンサー
エクセルVBAで重複する行を削除したい
エクセルVBAで重複する行を削除したいと考えています。 フィルタオプションの設定でやればできるのですが、 VBAでやろうと考えています。 どうしたらいいのしょうか。 よろしくお願いします。
- smorgas030
- お礼率85% (231/269)
- その他(プログラミング・開発)
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
>フィルタオプションの設定でやればできる 操作をマクロの記録で記録し、出来たコードを アレンジすればよいのでは
関連するQ&A
- エクセルまたはVBAで重複行を削除
例えば、 A B 1 1 a 2 2 b 3 3 c 4 4 d 5 4 d 6 5 e 7 6 g 8 6 g といった表があるとします。 A列をキーに、昇順にされた一覧表です。 ここで番号が重複している行、この例では4行目と5行目、7行目と8行目がそうです。 こういった重複した行を検索して、行削除したいのですがどんな方法が可能でしょうか? 最終的にはVBAでのイベントになるでしょうが、それ以前にエクセルで前準備などしておくようなことは必要でしょうか? 表自体はかなり膨大な量のデータベースです。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- EXCELで重複行のデータを削除したいと思っています。
EXCELで重複行のデータを削除したいと思っています。 フィルタの重複するレコードは無視するにチェックをいれる方法は知っているのですが、 この方法だと新しく出来たデータ列が数式ではなく数式の計算結果でデータ列が出来てしまいます。 どうしたら数式のままで重複データを削除出来るのでしょうか?
- 締切済み
- その他MS Office製品
- 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 重複データから1種類ずつ抽出
いつもお世話になります。 5万行のエクセルデータで、A列に20種類のデータが重複しています。 このデータを、別シートのA1~A20に1種類ずつコピーしたいのです。 オートフィルタ→フィルタオプション→重複するレコードは無視するでチャレンジしてみたのですが、5万行だとデータ量の関係で時間がかかりすぎるので、VBAでもっと短時間で出来ないかと思い、投稿させていただきました。 よろしくお願いいたします。
- ベストアンサー
- Visual Basic
- フィルタオプションの重複削除
エクセル2003を使っています。 フィルタオプションを使って「重複するレコードは無視する」にチェックを入れ、重複を非表示にしたいのですが、最初の重複するデータが残り、次に重複するデータは非表示されます。 例えば、1行目にあいうえお 2行目にかきくけこ 3行目にさしすせそ 4行目にあいうえお 5行目にかきくけこ があるとします。 フィルタオプションを使って「重複するレコードは無視する」にチェックを入れると、 1行目にあいうえお 2行目にかきくけこ 3行目にさしすせそ 4行目にあいうえお となり、重複している、かきくけこは非表示になっているのですが、同じく重複しているあいうえおは表示されたままです。 これはなぜでしょうか? よろしくお願い致します。
- ベストアンサー
- オフィス系ソフト
- Excelで重複行を非表示にする方法(重複行の最後の行だけ表示させる方法)について教えてください。
エクセルで重複するデータを非表示にする方法は、[データ]→[フィルタ]→[フィルタオプションの設定]を選択し、[重複するレコードは無視する]にチェックを入れればできますが、デフォルトでは重複行の最初の行だけを表示し、残りの重複行を非表示にしてしまいます。 最初の重複行ではなく最後の重複行だけを残し、他の行を非表示にしたいのですが方法がわかりません。 ちなみに上記の[重複するレコードは無視する]にチェックするまでの流れをマクロに記録させ、マクロの編集をクリックすると下記のような記述になっていました。 Columns("A:A").Select Range("A1:A100").AdvancedFilter Action:=xlFilterInPlace, Unique:=True このソースのどの部分を変更すれば、1番最後の重複行だけを残し他の行を非表示にすることが可能になるのか教えてください。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- Excel VBAで値が重複する行を削除する
Excel2000を使っています。 シートAに数千件のデータがあります。 シートBのE列にある文字とシートAのD列の文字が重複する場合に、シートAの重複するセルがある行を削除する(且つできれば行のデータを抜き出すVBAを作ろうと考えています。 最近VBAの初心者本をやっと理解したところで、ちんぷんかんぷんとまではいかないけど、知恵熱がでました。 仕事なので自分でなんとかすべきかと思いますが、きっかけの調べ方がまずわからない。 どなたか、解かるきっかけだけでも与えて頂けないでしょうか。とくに、別シートの値と重複する値を探す場合に何をいれるかわかればきっと道は開けると思うんですが…。 初めての質問なので、質問内容が至らなかったらもうしわけありません。
- 締切済み
- オフィス系ソフト
- 【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(エクセル)
- エクセルで重複行を削除
エクセルで重複行を削除したいのですが、 どうすればいいでしょうか? たとえば名前が1列に並んでいて ××○○ 山田太郎 △田□□ 山田太郎 こんなとき、山田太郎を1行だけに、 まとめたいのですが・・・ データが多いのでソートして 1件1件削除していくのも時間がかかります。 何かいい方法がありましたら よろしくお願いします。
- 締切済み
- その他(ネットショッピング)
- Excel VBAでの行の削除について
Excel VBAを使用して2行ずつ行の削除をし、1行残して(3行目を残す)また2行ずつ行の削除、1行残しす(6行目を残す)をループして行う方法が知りたいです。 イメージとしては以下のような感じです。 ━━【A】━━━━ 【1】あいうえお 【2】かきくけこ 【3】さしすせそ 【4】たちつてと 【5】なにぬねの 【6】はひふへほ 【7】まみむめも 【8】やゆよ 【9】らりるれろ ━━━━━━━━━ ↓マクロ実行後↓ ━━【A】━━━━ 【1】さしすせそ 【2】はひふへほ 【3】らりるれろ ━━━━━━━━━ 当方VBA初心者ですので、できるだけわかりやすくご教授頂けると助かります。 よろしくお願いいたします。
- ベストアンサー
- Visual Basic
お礼
ありがとうございます。 解決しました。