[[20170522123800]] 『ListBoxへの表示』(みさ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『ListBoxへの表示』(みさ)

 質問させてください。
 現在ユーザーフォーム内に、リストボックを作成し別シートのデータ
 を表示するようにしています。
 データの登録は、ListBoxのRowSourceプロパティで範囲を指定しています。
 DB!A3:E20000といった感じです。

 この場合だと、DBの行が変更になった場合空白で表示される、必要箇所が
 未表示になったりと困っています。

 どのように対応していけばよいかご教示くださいませ。

< 使用 Excel:Excel2007、使用 OS:Windows7 >


名前を定義して、

Private Sub UserForm_Initialize()

ListBox1.RowSource = "Sheet1!名前"

End Sub

のような感じではいかがですか
(mm) 2017/05/22(月) 13:46


RowSourceプロパティの指定を止めて、以下のように自前で配列を用意し、ここで無効なデータを除外してからセットしてみてはいかがでしょうか。

 Private Sub UserForm_Initialize()
    Dim cDim() As String
    Dim i As Long
    Dim j As Long
    Dim iR As Long
    Dim iMax As Long

    With Sheets("DB")
        iMax = .Cells(.Rows.Count, "A").End(xlUp).Row
        ReDim cDim(iMax - 3, 4)
        For i = 3 To iMax
            If .Cells(i, "A").Value <> "" Then
                For j = 0 To 4
                    cDim(iR, j) = .Cells(i, j + 1).Value
                Next j
                iR = iR + 1
            End If
        Next i
        ListBox1.Clear
        ListBox1.List = cDim
    End With
 End Sub
(???) 2017/05/22(月) 13:52

 ありがとうございました。
 上手く出来ました。また何かあればご教示ください。
 感謝です。
(KA) 2017/05/22(月) 19:45

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.