我尝试编写例程来将工作表SR上的范围中的记录添加到表单上的列表框中。我希望列表框中的记录由每行中几个单元格的值组成。
我在ResultString行上遇到类型不匹配。我确定这很简单,但我没看到我写的内容与通常的建议有什么不同。
提前致谢!
With SR
LastRow = .Cells(.Rows.count, "A").End(xlUp).Row
End With
Dim Rng As Range
Dim Row As Range
Dim ResultString As String
Set Rng = Range("A2:AC" & LastRow)
For Each Row In Rng.Rows
With SR
ResultString = .Cells(Row, 1).Value & " - " & .Cells(Row, 2).Value & " - " & .Cells(Row, 3).Value & " - " & .Cells(Row, 9).Value & " - " & .Cells(Row, 25).Value
End With
Me.lstResults.AddItem ResultString
Next Row
答案 0 :(得分:1)
我建议你采用不同的方法:
Dim SR As Worksheet
Set SR = ActiveSheet
Dim LastRow As Long
With SR
LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
End With
With Me.lstResults
.ColumnCount = 25
.ColumnWidths = "20;20;20;0;0;0;0;0;20;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;20" ' adjust it to suit your needs
.List = SR.Range("A2:AC" & LastRow).Value
End With
通过这种方式,您不需要迭代每一行并加入相关列内容,同时使用所有范围值一次性填充列表框,并且仅显示相关列
通过这种方式你松开" - "分隔符,但可能是你可以绕过它