我有一个包含源列表
的变体Dim source as variant
source = Range("A4:A" & rowcount)
有时rowcount
也是4,所以在这种情况下我将源重新分配给
source = Range("A4:A5")
现在我要删除最后一行source(2)/source(2,1)
如何删除它?
我尝试Erase source
清除所有内容
我正在处理源中的数据并填充一些dict项 如果source不是数组,我必须在很多地方进行更改,因为我已经在很多地方使用了每个地方
如何单独使用第一个元素或删除最后一个元素?
答案 0 :(得分:2)
您不能使用ReDim Preserve
,因为即使只有一个单元格,您使用Range设置的变体也会是2D。
使用.Value
或.Value2
获取正确的数组和缓冲区变量,以便在源代码中删除并传回数据:
Dim source as variant, A()
Redim A(0)
If rowcount<>4 Then
source = Range("A4:A" & rowcount).Value
Else
source = Range("A4:A5").Value
A(0)=source(1,1)
Redim source(1 To 1, 1 To 1)
source(1,1)=A(0)
End if