|
▼G-Luck さん:
回答ありがとうございます。
今のところ、このサイトで検索できたものを参考に、
ここまでできています。意味がまったくわからず、
ただ、コピーしてみたものがほとんどです。
シート名"データ1"にデータが書き込まれています。
----------------------------------------
Public CE As Long
Private Sub ComboBox1_Change()
Dim CT2 As Range, Cel As Range, LB2tb() As String
Worksheets("データ1").Activate
If ActiveSheet.AutoFilterMode Then
ActiveSheet.AutoFilterMode = False
End If
LtW = ComboBox1.List(ComboBox1.ListIndex)
Range("B1").AutoFilter field:=3, Criteria1:=LtW
CE = ActiveSheet.Range("C65536").End(xlUp).Row
Set CT2 = Range("U2:U" & CE).SpecialCells(xlCellTypeVisible)
ListBox1.Clear
Cnt = 0
For Each Cel In CT2
On Error Resume Next
mt = Application.Match(Cel, ListBox1.List, 0)
If IsError(mt) Or mt = Empty Then
Cnt = Cnt + 1
ReDim Preserve LB2tb(1 To Cnt)
LB2tb(Cnt) = Cel
End If
ListBox1.List = LB2tb
Err.Clear
On Error GoTo 0
Next
Set CT2 = Nothing
Erase LB2tb
Application.ScreenUpdating = True
Worksheets("読み出し").Activate
End Sub
---------------------------------
Combobox1の値は、プロパティの"RoWSource"で設定しています。
が、これからデータを整理していく上で、増えていくことを想定して
かなり多めに設定しています。50行くらい。
これを、データの入っているSell範囲を選択、というようにできると
いいのですが、できますでしょうか?
よろしくお願いいたします。
>▼たかし さん:
>
>順次確認しましょう。
>
>Combobox1の値を取得することはできますか?
>Listbox1の値を、VBAから自由に設定できますか?
>Listbox1の値を、複数列表示に出来ますか?
>
>セルの値と、Comboboxの値を比較して、一致と不一致で、処理を分けることは出来ますか?
>
>間違っていてもいいので、思いのコードを書いてみてください。
>
>他の回答者の方へ、私は無視して結構ですので、回答を付けてあげてください。
|
|