Vba 在列表框中显示非连续的单元格区域
我试图将一个称为“Departments”(A1:A10,C1:C10,E1:E10)的表中的非连续单元格范围显示到一个多列列表框中 我在这里找到了一个示例,但它只显示表的第一行(A1、C1、E1) 有人能帮我编辑这段代码并解释它是如何工作的吗?:) 先谢谢你Vba 在列表框中显示非连续的单元格区域,vba,Vba,我试图将一个称为“Departments”(A1:A10,C1:C10,E1:E10)的表中的非连续单元格范围显示到一个多列列表框中 我在这里找到了一个示例,但它只显示表的第一行(A1、C1、E1) 有人能帮我编辑这段代码并解释它是如何工作的吗?:) 先谢谢你 Option Explicit Private Sub CommandButton1_Click() Dim Ar() As String Dim rng As Range, cl As Range Dim i As Long Set
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
或许
Private Sub CommandButton1_Click()
Dim rng As Range
Set rng = Range("A1:E10")
With ListBox1
.ColumnCount = 3
.ColumnWidths = "50;50;50"
' load 1st, 3rd and 5th columns of range into listbox
.List = Application.Index(rng, Evaluate("ROW(1:" & rng.Rows.Count & ")"), Array(1, 3, 5))
End With
End Sub
完美的现在,如果我想将从该列表框中选择的内容插入到另一张图纸(sheet1,A1:C1)中的另一个连续范围中。。有可能吗?是的,你可以使用列表和列表索引属性的组合,除非它是一个多选列表框,然后你必须循环所有项目并测试所选属性。请举例说明这是一个单独的问题,作为一个问题问可能更好