Excel VBA質問箱 IV

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

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


3718 / 13644 ツリー ←次へ | 前へ→

【60525】重複しないデータの取得 かのか 09/2/25(水) 21:09 質問[未読]
【60531】Re:重複しないデータの取得 kanabun 09/2/25(水) 23:20 発言[未読]
【60533】Re:重複しないデータの取得 かのか 09/2/26(木) 0:04 お礼[未読]

【60525】重複しないデータの取得
質問  かのか  - 09/2/25(水) 21:09 -

引用なし
パスワード
   こんばんは。

下記のようなデータがあります。
2列で重複しないデータを書き出したいのですが
方法が浮かびません。

A   B
111 顧客
111 知人
111 顧客
111 顧客
222 知人
333 顧客
333 知人
333 顧客

これより↑

下記のような結果を得たいと思っております。
A   B
111 顧客
111 知人
222 知人
333 顧客
333 知人

よろしくお願い致します。

【60531】Re:重複しないデータの取得
発言  kanabun  - 09/2/25(水) 23:20 -

引用なし
パスワード
   ▼かのか さん:

>2列で重複しないデータを書き出したいのですが
>方法が浮かびません。
>
>A   B
>111 顧客
>111 知人
>111 顧客
>111 顧客
>222 知人
>333 顧客
>333 知人
>333 顧客

フィルタオプションを使ってみてはどうでしょう?

(例)
1行目に見出し行を追加し、
作業列に [C2] =A2&B2 でフィルダウンして A列とB列を結合したものを
代入しておく。

A     B     C
Code    Cat    work
111    顧客    111顧客
111    知人    111知人
111    顧客    111顧客
111    知人    111知人
222    顧客    222顧客
333    知人    333知人
333    顧客    333顧客
333    知人    333知人

出力先に、A列見出しとB列見出しだけ Copyしておいて、
メニュ-[データ]-[フィルタ]-[フィルタオプションの設定]
   リスト範囲 [$A$1:$C$9]
   抽出先   [A列見出しとB列見出しをCopyしたセル範囲 たとえば $H$1:$I$1]
   ■ 重複するレコードは無視する にチェックを入れ、
[OK]

これで、A、B列の重複しないリストが得られます。

マクロの記録をとると、
 Range("A1:C9").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
    "H1:I1"), Unique:=True

の1行マクロとなります。

抽出先(CopyToRange)を別シートにすることもできます。

【60533】Re:重複しないデータの取得
お礼  かのか  - 09/2/26(木) 0:04 -

引用なし
パスワード
   ▼kanabun さん:

ありがとうございます!
案が浮かばず、マクロ作成が進まなかったので
すごく助かりました。


>▼かのか さん:
>
>>2列で重複しないデータを書き出したいのですが
>>方法が浮かびません。
>>
>>A   B
>>111 顧客
>>111 知人
>>111 顧客
>>111 顧客
>>222 知人
>>333 顧客
>>333 知人
>>333 顧客
>
>フィルタオプションを使ってみてはどうでしょう?
>
>(例)
>1行目に見出し行を追加し、
>作業列に [C2] =A2&B2 でフィルダウンして A列とB列を結合したものを
>代入しておく。
>
>A     B     C
>Code    Cat    work
>111    顧客    111顧客
>111    知人    111知人
>111    顧客    111顧客
>111    知人    111知人
>222    顧客    222顧客
>333    知人    333知人
>333    顧客    333顧客
>333    知人    333知人
>
>出力先に、A列見出しとB列見出しだけ Copyしておいて、
>メニュ-[データ]-[フィルタ]-[フィルタオプションの設定]
>   リスト範囲 [$A$1:$C$9]
>   抽出先   [A列見出しとB列見出しをCopyしたセル範囲 たとえば $H$1:$I$1]
>   ■ 重複するレコードは無視する にチェックを入れ、
>[OK]
>
>これで、A、B列の重複しないリストが得られます。
>
>マクロの記録をとると、
> Range("A1:C9").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
>    "H1:I1"), Unique:=True
>
>の1行マクロとなります。
>
>抽出先(CopyToRange)を別シートにすることもできます。

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