我正在尝试创建一个包含我的商店销售的所有产品的数组,但是在列表中,当矩阵很好并完成时,有大量的空白单元格是不需要的。在构建它之前有没有办法摆脱这些空白细胞?
对于我的上一个项目,我做了
Range("A:A").Find("").Select
Selection.ClearContents
Selection.Delete Shift:=xlUp
但我认为这不适合这个,因为我不想以任何方式弄乱工作表。
目前我有这个:
Dim iRows as Long
Sheets("PR001C2531380000001").Activate
iRows = Cells(Rows.Count, 1).End(xlUp).Row + CLng(0)
Do While Range("A:A").Find("ITEM-NO").Offset(c + 1, 0) = iRows
c = c + 1
Loop
ReDim PrMat(0 To iRows)
d = 0
For d = 0 To UBound(PrMat())
Do While Range("A:A").Find("ITEM-NO").Offset(d + 1, 0).End(xlUp).Row + CLng(0)
PrMat(d) = Range("A:A").Find("ITEM-NO").Offset(d + 1, 0)
d = d + 1
我认为这是不可能的,但即使是我的想法失败的一些验证也会很棒。
答案 0 :(得分:1)
使用与Is it possible to fill an array with row numbers which match a certain criteria without looping?相同的技术,您可以形成非空白的一维数组
`form the array
x = Filter(Application.Transpose(Application.Evaluate("=IF(LEN(A1:A100)>0,A1:A100,""x"")")), "x", False)
`return a 1D string
MsgBox Join(x, ",")