[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『リストボックスのリストに非表示行を表示(取得)しないようにしたい』(だいず)
ユーザーフォームのリストにセル範囲を取得してリストに表示し、
その中から選択した項目を検索して飛べるようなものを作成してみました。
そのセル範囲には空白の行(セル)と非表示になっている行があります。
空白の行についてはリストに表示しないようにできたのですが、
非表示の行をリスト表示しないようにすることがうまくできません。
下記が非表示行を取得しないようしようとしているコードになります。
Private Sub ToggleButton1_Change()
On Error Resume Next
Dim i As Integer
Dim List_Text
List_Text = Range("Model_List")
If ToggleButton1.Value = True Then ToggleButton1.BackColor = vbRed ToggleButton1.Caption = "○○ ON"
ToggleButton2.Value = False ToggleButton3.Value = False ToggleButton4.Value = False
ListBox1.List = List_Text
For i = ListBox1.ListCount - 1 To 0 Step -1 If ListBox1.List(i) = "" Then ListBox1.RemoveItem i Next i Else ToggleButton1.BackColor = RGB(255, 255, 192) ToggleButton1.Caption = "○○"
ListBox1.Clear End If End Sub
トグルボタンをTrueにしたらリストに List_Text = Range("Model_List") の
範囲が表示されるようにしてます。
Range("Model_List")は C15からC379 の範囲です。(名前をつけてます)
List_Text = Range("Model_List")の部分を
List_Text = Range("Model_List").CurrentRegion.SpecialCells(xlCellTypeVisible)
に変えたらいけるかなと思ったのですがうまくいきませんでした。
どうすればよいか教えていただけないでしょうか。
< 使用 Excel:Office365、使用 OS:Windows10 >
For i = ListBox1.ListCount - 1 To 0 Step -1 If ListBox1.List(i) = "" Then ListBox1.RemoveItem i If Range("Model_List").Rows(i + 1).EntireRow.Hidden Then ListBox1.RemoveItem i Next i
では
(ピンク) 2022/04/08(金) 12:31
For i = ListBox1.ListCount - 1 To 0 Step -1 If Range("Model_List").Rows(i + 1).EntireRow.Hidden Or _ ListBox1.List(i) = "" Then ListBox1.RemoveItem i Next i
(ピンク) 2022/04/08(金) 12:52
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.