这里有一张动态表,我只想显示到列表框中,A 到 F 列,其中 A 列/名称不等于空/空单元格。
一个 | 乙 | 碳 | 德 | 埃 | F |
---|---|---|---|---|---|
姓名 | 分数 | 复杂 | 积分 | 总分 | 总计(无积分) |
汤姆 | 5 | 3 | 0.25 | 105.00% | 100.00% |
布伦达 | 5 | 4 | 0.5 | 110.00% | 100.00% |
标记 | 5 | - | #价值! | #价值! | |
- | #价值! | #价值! | |||
- | #价值! | #价值! |
我在初始化期间尝试了以下操作:
Sub forListBoxShow()
Dim ws As Worksheet, colList As Collection
Dim arrData, arrList, i As Long, j As Long
Set colList = New Collection
Set ws = Worksheets("Sheet1")
arrData = ws.Range("A1:F" & ws.Cells(ws.Rows.count, "A").End(xlUp).Row)
' build collection of row numbers
For i = 2 To UBound(arrData)
If arrData(i, 1) <> vbNullString Then
colList.Add i, CStr(i)
End If
Next
ReDim arrList(1 To colList.count + 1, 1 To UBound(arrData))
For j = 1 To 6
arrList(1, j) = arrData(1, j) ' header
For i = 1 To colList.count
arrList(i + 1, j) = arrData(colList(i), j)
Next
Next
listBoxShow.Clear
With Me.listBoxShow
.ColumnCount = UBound(arrData, 2)
.ColumnWidths = "50,50,70,40,90,90"
.list = arrList
End With
End Sub
但是我遇到了subscript out of range
错误。我还尝试向名称为“Mark”的单元格添加实际值#VALUE!
,但遇到了同样的错误。(对于带有 #VALUE! 的单元格 - 它具有默认公式并且有用途)。还尝试了上述代码,但遇到了同样的错误:
If Not arrData(i, 1) = "" Then
我很感谢你的帮助。