Excel VBA質問箱 IV

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

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


10814 / 13646 ツリー ←次へ | 前へ→

【19738】重複データを除きたい アロエ 04/11/16(火) 13:57 質問[未読]
【19742】Re:重複データを除きたい IROC 04/11/16(火) 14:22 回答[未読]
【19743】Re:重複データを除きたい アロエ 04/11/16(火) 14:26 回答[未読]
【19745】Re:重複データを除きたい IROC 04/11/16(火) 14:55 回答[未読]
【19748】Re:重複データを除きたい アロエ 04/11/16(火) 15:09 回答[未読]
【19754】Re:重複データを除きたい IROC 04/11/16(火) 15:52 回答[未読]
【19765】Re:重複データを除きたい アロエ 04/11/16(火) 16:28 回答[未読]
【19767】Re:重複データを除きたい IROC 04/11/16(火) 16:33 回答[未読]
【19766】Re:重複データを除きたい モヒモヒ(初心者) 04/11/16(火) 16:31 回答[未読]
【19773】Re:重複データを除きたい Jaka 04/11/16(火) 17:23 回答[未読]
【19776】Re:重複データを除きたい アロエ 04/11/16(火) 18:21 お礼[未読]

【19738】重複データを除きたい
質問  アロエ  - 04/11/16(火) 13:57 -

引用なし
パスワード
   お世話になります。

シートWordにはこのようなデータがあります

 a b ・・・
1 A D
2 A D
3 A D
4 A D
5 A D
6 A D
7  A
8  A
9  A

上記からAdvacedFilterで重複データを除いたかたちで
シートFilterへコピーしたいのですが、結果こんなようになってしまいました

結果:
A D ・・・
A D
A D
A A
  A
  A

中途半端。。(^^;
どうしたら重複データを取り除くことができるのでしょうか?
AdvancedFilter以外にも方法があるのでしょうか?
宜しくお願いいたします

ThisWorkbook.Worksheets("Word").Range("A1:IV65536").AdvancedFilter _
  Action:=xlFilterCopy, CopyToRange:=ThisWorkbook.Worksheets _        ("Filter").Range("A1"), Unique:=True

【19742】Re:重複データを除きたい
回答  IROC  - 04/11/16(火) 14:22 -

引用なし
パスワード
   1列ごと処理してみては如何でしょうか?

【19743】Re:重複データを除きたい
回答  アロエ  - 04/11/16(火) 14:26 -

引用なし
パスワード
   ▼IROC さん:
>1列ごと処理してみては如何でしょうか?
A列のみ、とりあえず問題ないのか確認したのですが
結果かわらずです。

【19745】Re:重複データを除きたい
回答  IROC  - 04/11/16(火) 14:55 -

引用なし
パスワード
   A列だけ抽出してコピー
B列だけ抽出してコピー
を繰り返しましたか?

【19748】Re:重複データを除きたい
回答  アロエ  - 04/11/16(火) 15:09 -

引用なし
パスワード
   ▼IROC さん:
>A列だけ抽出してコピー
>B列だけ抽出してコピー
>を繰り返しましたか?
やってみました。
WordWSLastColumn = ThisWorkbook.Worksheets("Word") _
 .Cells(1, Columns.Count).End(xlToLeft).Column '1行目の最後の列
For i = 1 To WordWSLastColumn - 1
 WordWSLastRow = ThisWorkbook.Worksheets("Word") _
  .Cells(Rows.Count, i).End(xlUp).Row
 ThisWorkbook.Worksheets("Word").Columns(i).AdvancedFilter _
  Action:=xlFilterCopy, CopyToRange:=ThisWorkbook _
  .Worksheets("Filter").Columns(i), Unique:=True
Next i

結果はこうでした
A D
A D
  A

おしいところまできているのですが・・・

【19754】Re:重複データを除きたい
回答  IROC  - 04/11/16(火) 15:52 -

引用なし
パスワード
   フィルタオプションには、タイトル行が必要です。
1行目にタイトル行を設けてください。

【19765】Re:重複データを除きたい
回答  アロエ  - 04/11/16(火) 16:28 -

引用なし
パスワード
   ▼IROC さん:
>フィルタオプションには、タイトル行が必要です。
>1行目にタイトル行を設けてください。
シートWordにタイトル行を設けるということでしょうか?
それはできません。
逃げ道は無いのでしょうか?
(別にFileFilterでなくてもいい)

【19766】Re:重複データを除きたい
回答  モヒモヒ(初心者)  - 04/11/16(火) 16:31 -

引用なし
パスワード
   こんにちわ
↓を参考にしてみてはどうですか。
http://www.asahi-net.or.jp/~zn3y-ngi/YNxv9596.html

▼アロエ さん:
>お世話になります。
>
>シートWordにはこのようなデータがあります
>
> a b ・・・
>1 A D
>2 A D
>3 A D
>4 A D
>5 A D
>6 A D
>7  A
>8  A
>9  A
>
>上記からAdvacedFilterで重複データを除いたかたちで
>シートFilterへコピーしたいのですが、結果こんなようになってしまいました
>
>結果:
>A D ・・・
>A D
>A D
>A A
>  A
>  A
>
>中途半端。。(^^;
>どうしたら重複データを取り除くことができるのでしょうか?
>AdvancedFilter以外にも方法があるのでしょうか?
>宜しくお願いいたします
>
>ThisWorkbook.Worksheets("Word").Range("A1:IV65536").AdvancedFilter _
>   Action:=xlFilterCopy, CopyToRange:=ThisWorkbook.Worksheets _        ("Filter").Range("A1"), Unique:=True

【19767】Re:重複データを除きたい
回答  IROC  - 04/11/16(火) 16:33 -

引用なし
パスワード
   >それはできません。

一時的に追加して、フィルタ処理が終わったら削除すればよいのでは?

【19773】Re:重複データを除きたい
回答  Jaka  - 04/11/16(火) 17:23 -

引用なし
パスワード
   ちまちまやっているのを見てられないので...。
1行目挿入しちゃっているのでダメかも。

Sub wwwwkw()
Dim SPG As Range
With ThisWorkbook.Worksheets("Word")
  WordWSLastColumn = .Cells(1, Columns.Count).End(xlToLeft).Column '1行目の最後の列
  .Rows(1).Insert
  .Range("A1").Resize(, WordWSLastColumn).Value = "あああ"
  DoEvents
  
  For i = 1 To WordWSLastColumn '- 1
    WordWSLastRow = .Cells(Rows.Count, i).End(xlUp).Row
    '.Range(.Cells(2, i), .Cells(WordWSLastRow, i)).Select
    .Range(.Cells(2, i), .Cells(WordWSLastRow, i)).AdvancedFilter Action:=xlFilterInPlace, Unique:=True
    Set SPG = .Range(.Cells(2, i), .Cells(WordWSLastRow, i)).SpecialCells(xlCellTypeVisible)
    .ShowAllData
    SPG.Copy
    .Cells(Rows.Count, i + 1).End(xlUp).Offset(1).PasteSpecial (xlPasteValues)
  Next i
  .Rows(1).Delete
  Application.CutCopyMode = False
End With
End Su

【19776】Re:重複データを除きたい
お礼  アロエ  - 04/11/16(火) 18:21 -

引用なし
パスワード
   IROCさん。モヒモヒ(初心者)さん。Jaka さん:
一応。さっきのFilterから、strcompで見出し行とコンペアして
一致したら行削除などというロジックで解決しました
ありがとうございました。

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