|
ToShiYo さんのコードが、いまいちダサイかどうかは置いといて、
>何とか重複行が出ないようになりました。
とのことですが、ちょっと疑問です。
フィルタをかけた後、
> Range(Range("A7"), Range("A7").End(xlDown))
↑の範囲にたまたま、ユニークなデータだけが残ったのではないでしょうか?
データの並び方によっては、ToShiYo さんのコードでは重複削除はできないように思います。
例えば、
A
7 項目1
8 AAA
9 BBB
10 CCC
11 DDD
12 AAA
13 BBB
14 CCC
のようなデータなら、OKですが、
A
7 項目1
8 AAA
9 BBB
10 AAA
11 BBB
12 CCC
13 CCC
14 DDD
のように並んでいれば、NG ではないでしょうか?
どちらもシート上は重複データは表示されていませんが、
フィルタをかけた後の
Range(Range("A7"), Range("A7").End(xlDown))の
中身は、違っていると思います。
通常は、
.Range("A7:A" & LASROW).AdvancedFilter _
Action:=xlFilterCopy, CopyToRange:=objRange, Unique:=True
のようにして、別な場所にコピーした範囲をRowSourceに
設定するように思います。
>'With ListBox1 '4列を表示したいと思いこのコードを追加しましたが
>' .ColumnCount = 4 '上手くいきませんでした
>' .ColumnWidths = "50;50;50;50"
>'End With
に関してですが、ちゃんと4列分のデータを
RowSource または List に設定してやれば、
コンボボックスに4列表示されると思いますよ。
|
|