Excel VBA質問箱 IV

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

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


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

【60283】シート間の重複チェックと削除 moon 09/2/7(土) 17:05 質問[未読]
【60284】Re:シート間の重複チェックと削除 マクロマン 09/2/7(土) 17:37 発言[未読]
【60286】Re:シート間の重複チェックと削除 moon 09/2/7(土) 18:49 お礼[未読]
【60285】Re:シート間の重複チェックと削除 n 09/2/7(土) 17:42 発言[未読]
【60287】Re:シート間の重複チェックと削除 moon 09/2/7(土) 18:49 お礼[未読]

【60283】シート間の重複チェックと削除
質問  moon  - 09/2/7(土) 17:05 -

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

以下、どのように書けば宜しいでしょうか?

例えば、・・・
シート1には、

  A列    B列
1 コード   名称
2  1     A
3  2     B
4  3     C
5  4     D
6  5     E
7  6     F

とデータがあり、
シート2には、

  A列    B列
1 コード   名称
2  1     A
3  3     C
4  5     E

とデータがあった場合、シート1からシート2の「コード」が同じ
行を削除したいのです。

シート1の結果

  A列    B列
1 コード   名称
2  2     B
3  4     D
4  6     F

シート2は変わりません。

以上ですが、ご教授お願いします。

【60284】Re:シート間の重複チェックと削除
発言  マクロマン  - 09/2/7(土) 17:37 -

引用なし
パスワード
   セル範囲をループし、
WorksheetFunction.Countif
の戻り値が「0」でなかったら削除、としてはいかがでしょう?

なお、行挿入や行削除(列も同じですが)は、下の行(右の列)から
ループしていきます。

【60285】Re:シート間の重複チェックと削除
発言  n  - 09/2/7(土) 17:42 -

引用なし
パスワード
   未使用列を作業列として関数で存在チェックをし、
その列をキーにして並び替え、重複データをまとめて削除。

あるいは
//support.microsoft.com/kb/402757/ja
AdvancedFilterメソッド([フィルタオプション])の計算検索条件を使って
別シートに重複しないデータを抜き出して元のシートを削除。
または
AdvancedFilterメソッドを使う場合でも
検索条件範囲をシート2のA1:A4に設定して(提示例の場合)
重複データを抽出して削除。

などの方法があります。

【60286】Re:シート間の重複チェックと削除
お礼  moon  - 09/2/7(土) 18:49 -

引用なし
パスワード
   ▼マクロマン さん:
>セル範囲をループし、
>WorksheetFunction.Countif
>の戻り値が「0」でなかったら削除、としてはいかがでしょう?
>
>なお、行挿入や行削除(列も同じですが)は、下の行(右の列)から
>ループしていきます。

マクロマンさん、できました!

ありがとうございました。

【60287】Re:シート間の重複チェックと削除
お礼  moon  - 09/2/7(土) 18:49 -

引用なし
パスワード
   ▼n さん:
>未使用列を作業列として関数で存在チェックをし、
>その列をキーにして並び替え、重複データをまとめて削除。
>
>あるいは
>//support.microsoft.com/kb/402757/ja
>AdvancedFilterメソッド([フィルタオプション])の計算検索条件を使って
>別シートに重複しないデータを抜き出して元のシートを削除。
>または
>AdvancedFilterメソッドを使う場合でも
>検索条件範囲をシート2のA1:A4に設定して(提示例の場合)
>重複データを抽出して削除。
>
>などの方法があります。

nさん

出来ました。

ありがとうございました。

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