2

行内の連続していないセル範囲を複数列のリストボックスに追加する方法を見つけようとしていますが、下の2行目だけが機能します。

lbxSelectable.List = Sheets("DB").Range("A1,B1,C1").Value
lbxSelectable.List = Sheets("DB").Range("A1:C1").Value

行内の特定の列を選択して複数列リスト ボックスのエントリに貼り付けることができる効率的な関数はありますか?

どうもありがとう

4

2 に答える 2

3

連続していない範囲のセルを複数列のリストボックスに連続して表示するには、最初に配列を作成し、それをリストボックスの に割り当てる必要があり.listます。ここに例があります。

Option Explicit

Private Sub CommandButton1_Click()
    Dim Ar() As String
    Dim rng As Range, cl As Range
    Dim i As Long

    Set rng = Range("A1,C1,E1")

    i = 1

    For Each cl In rng
        ReDim Preserve Ar(1, 1 To i)
        Ar(1, i) = cl.Value
        i = i + 1
    Next

    With ListBox1
        .ColumnCount = i - 1
        .ColumnWidths = "50;50;50"
        .List = Ar
    End With
End Sub

スナップショット

ここに画像の説明を入力

于 2012-05-16T16:41:49.823 に答える