Excel VBA質問箱 IV

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

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


35238 / 76738 ←次へ | 前へ→

【46701】Re:ComboBoboxで選択するときに、既にAutofilterをかけた後の状態を表示したい
回答  MOON  - 07/2/12(月) 19:12 -

引用なし
パスワード
   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列表示されると思いますよ。
0 hits

【46659】ComboBoboxで選択するときに、既にAutofilterをかけた後の状態を表示したい ToShiYo 07/2/9(金) 21:24 質問
【46660】Re:ComboBoboxで選択するときに、既にAuto... MOON 07/2/9(金) 22:35 回答
【46666】Re:ComboBoboxで選択するときに、既にAuto... ToShiYo 07/2/10(土) 19:29 お礼
【46701】Re:ComboBoboxで選択するときに、既にAuto... MOON 07/2/12(月) 19:12 回答
【46744】Re:ComboBoboxで選択するときに、既にAuto... ToShiYo 07/2/13(火) 19:56 お礼

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